Как получить фокус объекта QTableView(не строка или колонка) или как определить находится ли данный объект в фокусе?
QTableView, focusInEvent, focusOutEvent
Всем доброго времени суток!
Прошу помощи. Есть задачка, если QTableView теряет фокус (например, перехожу на другой QTableView), то кнопки на форме должны поменять свою доступность. В функциях нет подобного, точнее есть, но если я выбираю строку. Мне нужно, чтобы кнопки становились активными или нет по нажатию на самом элементе QTableView.
Поискав на просторах интернета ответа не нашел. Что касается объекта QTableView, я его создаю в дизайнере как и саму форму.
Буду рад помощи от сообщества!
Всем откликнувшимся заранее спасибо за ответ.
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Akiv Doros
- Nov. 11, 2024, 10:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
- molni99
- Oct. 26, 2024, 8:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
- molni99
- Oct. 26, 2024, 8:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Привет. Переопределить во вьюхе event(), которая отображает твои QTableView и сделать при этом евенте блок кнопок.
вот здесь список эвентов
PS: лучше использовать специализированный event(closeEvent(), focusInEvent(), focusOutEvent(), enterEvent(), keyPressEvent(), keyReleaseEvent(), leaveEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), moveEvent(), paintEvent(), resizeEvent() и пр)
Не совсем я понял Вашу подсказку. QTableView располагается в GroupBox, который в свою очередь располагается на вкладке QTabWidget.
Может я как-то некорректно написал, но кликая в пустом месте на QTableView, предок у него tabWidget, я хочу отработать действие: если QTableView не является активным, тогда выполнять ряд действий. Сейчас этот ряд действий выполняется только тогда, когда я кликну на записи. Как переопределить именно для QTableView, а не для всего QDialog?
Получается, что мне сначала нужно сделать класс myTableView, который будет наследоваться от QTableView, а в нем переопределить focusInEvent и focusOutEvent методы? Или есть более простой и понятный способ?
а. понял. Ну, не уверен на 100%, но наверное можно сделать делегат для этого QTableView, в котором можно использовать уже
а внутри этого метода, то, что я выше описал. Вроде должно получиться!
а этот класс уже и использовать, как обычный QTableView
Скорее всего вам понадобятся эти евенты: QEvent::Enter, QEvent::Leave