Russian Qt Forum
Мая 11, 2025, 08:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Всплывающая подсказка при наведении на QLabel  (Прочитано 28551 раз)
thechicho
Гость
« : Ноября 20, 2011, 19:42 »

как сабж в кьют реализуется?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #1 : Ноября 20, 2011, 19:45 »

setToolTip() ?
Записан
thechicho
Гость
« Ответ #2 : Ноября 20, 2011, 20:00 »

сенкс. можно рабочий пример кода? не догнал, как применить.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Ноября 20, 2011, 20:03 »

label->setToolTip ("Some text");
Что не понятно???
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #4 : Ноября 20, 2011, 20:05 »

конечно можно

Код:
label->setToolTip("tool tip");
Записан
andrew.k
Гость
« Ответ #5 : Ноября 20, 2011, 20:08 »

примеры кода точно рабочие?
Записан
thechicho
Гость
« Ответ #6 : Ноября 20, 2011, 20:08 »

дак я так и сделал, только при наведении ничего не произошло, поэтому и попросил код рабочий.
тут http://developer.qt.nokia.com/forums/viewthread/6978 через QAction как-то что-то...
где я туплю?
Записан
andrew.k
Гость
« Ответ #7 : Ноября 20, 2011, 20:11 »

Я так и думал, уберите нерабочий код с форума)

По ссылке речь идет о хинтах в меню основанном на QAction. Которых действительно нет вроде.
А ты спрашивал про QLablel? Чуишь разницу?

И по той же ссылке "рабочий код", который добавляет эти хинты в меню.

Чего не так?
« Последнее редактирование: Ноября 20, 2011, 20:13 от andrew.k » Записан
thechicho
Гость
« Ответ #8 : Ноября 20, 2011, 20:15 »

упс. подсказка появляется, только не мгновенно, а через несколько секунд.
как задать мгновенное появление при наведении?
Записан
thechicho
Гость
« Ответ #9 : Ноября 20, 2011, 20:19 »

хм. после включения проги, если поддержать пару секунд мышку на элементе, подсказка появится. затем при наведении на элемент, она начинает появляться мгновенно. но при первом наведении надо ждать несколько секунд. можно как-то сделать, чтобы сразу появлялась при 1ом наведении?
« Последнее редактирование: Ноября 20, 2011, 20:29 от thechicho » Записан
andrew.k
Гость
« Ответ #10 : Ноября 20, 2011, 20:21 »

Как поменять таймаут не знаю.

Можешь сам показывать, когда тебе нужно.
void QToolTip::showText ( const QPoint & pos, const QString & text, QWidget * w, const QRect & rect )
Записан
iroln
Гость
« Ответ #11 : Ноября 20, 2011, 20:22 »

упс. подсказка появляется, только не мгновенно, а через несколько секунд.
как задать мгновенное появление при наведении?
Мне как-то раз тоже надо было, чтобы тултип показывался мгновенно при наведении на виджет. Я отлавливал событие ToolTip через метод event и выводил принудительно через QToolTip.showText. Можно ещё навесить фильтр событий, ловить событие ToolTip и делать то же самое.
Записан
andrew.k
Гость
« Ответ #12 : Ноября 20, 2011, 20:26 »

А это событие возникает мгновенно (и сам QToolTip выдерживает эту паузу) или по истечении таймаута?
Записан
iroln
Гость
« Ответ #13 : Ноября 20, 2011, 20:30 »

Вспомнил, кажется, что я там делал. Мне надо было, чтобы при наведении на некий виджет тултип сразу появлялся и двигался вслед за курсором мыши. А потом мгновенно пропадал, после того, как курсор выйдет за пределы виджета. Никак не получалось заставить тултип мгновенно пропадать, эта задержка жутко раздражала. И ещё заметил баг, позиция тултипа не обновляется если не обновилась строка текста.

Даже вот такой странный кусок кода у себя нашёл, который якобы заставляет тултип мгновенно пропадать. Улыбающийся
Код
Python
#HACK: Чтобы всплывающая подсказка пропадала мгновенно (без раздражающей задержки)
e = QMouseEvent(QEvent.MouseButtonPress, event.pos(), event.globalPos(),
                        Qt.NoButton, Qt.NoButton, Qt.NoModifier)
QCoreApplication.sendEvent(self, e)
 
#QToolTip.hideText() # не работает, подсказка не пропадает мгновенно!!!
#event.ignore()
 
« Последнее редактирование: Ноября 20, 2011, 20:33 от iroln » Записан
iroln
Гость
« Ответ #14 : Ноября 20, 2011, 20:32 »

А это событие возникает мгновенно (и сам QToolTip выдерживает эту паузу) или по истечении таймаута?
Проверил свой код, событие возникает мгновенно. Видимо это стандартный тултип выводится с задержкой.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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