2010-12-01 3 views

ответ

3

Предполагая, что вы используете QTableView или QTableWidget для вашего стола, вы можете получить Qt-сигнал всякий раз, когда набор выбранных ячеек изменилось, делая это:

connect(theTable.selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(SelectionWasChanged(const QItemSelection &, const QItemSelection &))); 

Обратите внимание, что это будет работать ли отбор был изменен с помощью мыши, клавиатуры или некоторых других средств. Если вам действительно нужен обратный вызов только тогда, когда выбор был сделан через QMouseEvent, вы, вероятно, могли бы реализовать это, переопределив QTableView :: mousePressEvent() и/или QTableView :: mouseReleaseEvent() в подклассе и установив флаг в true перед вызовом к суперклассу (и снова установить его снова) и проверку флага в вашем слоте SelectionWasChanged().

Смежные вопросы