Как получить фокус объекта QTableView(не строка или колонка) или как определить находится ли данный объект в фокусе?
QTableView, focusInEvent, focusOutEvent
Всем доброго времени суток!
Прошу помощи. Есть задачка, если QTableView теряет фокус (например, перехожу на другой QTableView), то кнопки на форме должны поменять свою доступность. В функциях нет подобного, точнее есть, но если я выбираю строку. Мне нужно, чтобы кнопки становились активными или нет по нажатию на самом элементе QTableView.
Поискав на просторах интернета ответа не нашел. Что касается объекта QTableView, я его создаю в дизайнере как и саму форму.
Буду рад помощи от сообщества!
Всем откликнувшимся заранее спасибо за ответ.
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Akiv Doros
- 11 ноября 2024 г. 22:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 8:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 8:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-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