Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Myav от Декабрь 08, 2006, 22:38



Название: [Qt 4.2.0] Как убрать выделение с QTableWidget?
Отправлено: Myav от Декабрь 08, 2006, 22:38
Имеется штатный QTableWidget. Вот такой:

(http://img174.imageshack.us/img174/4885/scrxm9.png)

Хочется при мышином клике по <пустому месту> снимать выделение с текущего элемента. Как бы половчее поймать клик? :roll:

Я попробовал переопределить mousePressEvent, но QMouseEvent, к сожалению, не знает, кликнули по QTableWidgetItem или по QFrame...


Название: [Qt 4.2.0] Как убрать выделение с QTableWidget?
Отправлено: bigirbis от Декабрь 09, 2006, 10:57
Может стоит отловить
void QTableWidget::itemClicked ( QTableWidgetItem * item )  [signal]
и проверить item на равенство NULL?


Название: [Qt 4.2.0] Как убрать выделение с QTableWidget?
Отправлено: Myav от Декабрь 09, 2006, 14:25
itemClicked ловится только при щелчке по QTableWidgetItem'ам; при щелчке по <пустому месту> эффехту никакого :?

добавлено спустя 51 минуту:

 Ура, сделал!  :D

Код:
void MyTableWidget::mousePressEvent(QMouseEvent *event)
{
if (itemAt(event->pos()))
QTableWidget::mousePressEvent(event);
else
clearSelection();
}