You could also derive a custom button from QPushButton that contains a member variable "rowNumber" and a new signal "clicked( int rowNumber )". In this new class, connect the QPushButton::clicked() signal to a private slot that issues the new clicked( int ) signal, and insert the rowNumber value as argument, then emit the new signal.

When adding the new buttons to the table, set the rowNumber appropriately. Connect the clicked(int) signal for -all- of the buttons to an onClicked( int ) slot in your "frm_quote" class. When the button is clicked, it will tell you its row number without having to loop through all of the rows of the table.

You can generalize this to have the button hold both row and column number, and implement the signal as clicked( int row, int cell ). This way you could have a table with multiple buttons per row which could all be handled by a single slot in the form class.