Russian Qt Forum
Ноябрь 01, 2024, 03:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Всплывающая подсказка при наведении на QLabel  (Прочитано 27603 раз)
andrew.k
Гость
« Ответ #15 : Ноябрь 20, 2011, 20:47 »

А это событие возникает мгновенно (и сам QToolTip выдерживает эту паузу) или по истечении таймаута?
Проверил свой код, событие возникает мгновенно. Видимо это стандартный тултип выводится с задержкой.
Спасибо, что потратил время.
Записан
andrew.k
Гость
« Ответ #16 : Ноябрь 20, 2011, 20:49 »

а разве такой странный код не работает?

void QToolTip::hideText () [static]

Hides the tool tip. This is the same as calling showText() with an empty string.
Записан
thechicho
Гость
« Ответ #17 : Ноябрь 20, 2011, 21:04 »

всем спасибо за поддержу.
мгновенное появление некритично (хотя если кто выложит код, а не намеки, будет здорово  Веселый)
Код
C++ (Qt)
label->setToolTip("туц туц туц");
label->setStyleSheet("QToolTip{color:navy}");
Записан
iroln
Гость
« Ответ #18 : Ноябрь 20, 2011, 22:32 »

а разве такой странный код не работает?

void QToolTip::hideText () [static]

У меня почему-то не заработал. Тултип всё равно скрывался с задержкой, а вот если послать событие MouseEvent, то тултип сразу исчезает. Я, честно говоря, не разбирался почему так происходит, надо было быстро залепить что-то работающее. Может если всё сделать по уму, то и заработает как надо.

thechicho
Попробуй так:
1. Для объекта QLabel или что там, установить фильтр событий.
2. В функции eventFilter ловить событие ToolTip для этого объекта, для которого установлен фильтр, и принудительно показывать тултип через QToolTip.showText()

Могу набросать код на питоне (на С++ мне честно лень) Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.164 секунд. Запросов: 20.