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

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

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

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

Сообщений: 1053


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


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

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

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

Сообщений: 5876


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


Просмотр профиля 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.14 секунд. Запросов: 22.