crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Изменение иконки 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





Гости








    


Цитата(lanz @ 8.11.2014, 13:27) *
Переопределите 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
Придется добавлять руками.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 17:02