Как обнаружить нажатие кнопки в ячейке из qtablewidget - PullRequest
1 голос
/ 12 марта 2012

Я создал таблицу, используя qtablewidget. Таблица содержит несколько кнопок. Я связал событие нажатия для этих кнопок с функцией. Проблема в том, что я хочу знать строку и столбец кнопки, которая отправляет событие нажатия. И.Е. когда пользователь нажимает кнопку, я хочу знать ее положение в таблице. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Если у вас есть какой-то способ различения между самими кнопками, вы можете вызвать

QObject* senderButton = Sender();

из слота, который получает сигнал, чтобы получить указатель на объект, который послал сигнал (http://doc.trolltech.com/4.7/qobject.html#sender).

В противном случае вы можете посмотреть на

QSignalMapper

Вот пример: http://doc.trolltech.com/4.7/signalsandslots.html#advanced-signals-and-slots-usage

0 голосов
/ 13 марта 2012

Возможно, вам потребуется подключить сигнал cellClicked от QTableWidget, чтобы получить строку и столбец ячейки.Вам, вероятно, потребуется проверить, в каком порядке будут передаваться сигналы, чтобы узнать, нужно ли вам отправлять сигнал для кнопки или просто вызывать обработчик для этого сигнала прямо вверх.

...