Изменение иконки QAction при наведении |
Здравствуйте, гость ( Вход | Регистрация )
Изменение иконки QAction при наведении |
Гость_mishe4ka_* |
7.11.2014, 13:26
Сообщение
#1
|
Гости |
Есть QToolBar с QAction. Нужно чтоб при наведении менялась иконка QIcon, показывая в какое состояние перейдет QAction при triggerd(). С наведением понятно - hovered(). А как быть когда курсор ушел с иконки . Ведь QEvent::HoverLeave у QAction нет. Есть только QAction::Hover.
|
|
|
lanz |
8.11.2014, 13:27
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Переопределите QAction::event чтобы словить HoverLeave. QAction::Hover вообще не от сюда.
|
|
|
Гость_mishe4ka_* |
10.11.2014, 9:22
Сообщение
#3
|
Гости |
Переопределите QAction::event чтобы словить HoverLeave. QAction::Hover вообще не от сюда. А поподробней пожалуйста можно. Свой класс создавать нужно?Если да, как с дизайнером интегрировать? Вопрос не праздный и расширенный ответ всем думаю поможет. Общее представление я имею, но толковые примеры НАШЕ ВСЕ))) |
|
|
lanz |
10.11.2014, 21:05
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
1) В дизайнере можно выбрать файл для каждово состояния иконки QAction. Вам будут интересны Normal On - это обычная иконка, Active On - та что будет при наведении.
2) Эти же свойства можно задать иконке с помощью кода: http://qt-project.org/doc/qt-4.8/qicon.html#addFile http://qt-project.org/doc/qt-4.8/qicon.html#Mode-enum 3) Можно сделать объект, который будет перехватывать все ивенты QAction: http://qt-project.org/doc/qt-4.8/eventsand...l#event-filters 4) Можно отнаследовать свой класс от QAction и переопределить метод event, интегрировать в дизайнер... с этим сложности http://stackoverflow.com/questions/8903897...for-qt-designer Придется добавлять руками. |
|
|
Текстовая версия | Сейчас: 27.4.2024, 17:02 |