Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсказка QToolTip, Время видимости подсказки 
V
    Опции темы
loneybibi
Дата 25.11.2012, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.5.2010
Где: Донецк (Украина)

Репутация: 3
Всего: 3



Создаю подсказку QToolTip, задаю текст и позицию.
Код вот такой:
Код

QRect r;
r.setSize(QSize(100,100));

QPoint p=pos()+ui->toolButton->pos();

QToolTip::showText(p,"<b>My tool tip</b><p>This is a my test tool tip</p>",
                               ui->toolButton,r);

Подсказка показывается определенное время. Как установить свое время
видимости, возможно ли это? Так же устанавливаю QRect но он почему
то не работает или я что то не так делаю? Подскажите пожалуйста! smile


--------------------
Red Hat Fedora 17
Qt 4.8.1 (x64), GCC 4.4.3,
G++ 4.4.3, QtCreator 2.4.1
PM MAIL ICQ   Вверх
devfom
Дата 25.11.2012, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.11.2012

Репутация: нет
Всего: нет



Цитата(loneybibi @ 25.11.2012,  00:14)
Подсказка показывается определенное время. Как установить свое время
видимости, возможно ли это?

Свое время установить возможно, но этот процесс не совсем тривиальный. По умолчанию значение таймаута - 10 секунд.
Установить свою длительность можно 2 способами:
  •  Переопределить поведение QToolTipEvent, более подробно можно посмотреть здесь . Используйте данный метод, если хотите показывать тултип меньше стандартного времени, например, 5 секунд.
  •  Переопределить эвент, но показывать тултипы не используя класс QToolTip, и реализовывая свою логику отрисовки и т.п.

С QRect не совсем понял, что Вы хотели с ним сделать?
PM MAIL   Вверх
loneybibi
Дата 25.11.2012, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.5.2010
Где: Донецк (Украина)

Репутация: 3
Всего: 3



Цитата(devfom @ 25.11.2012,  16:44)
Цитата(loneybibi @ 25.11.2012,  00:14)
Подсказка показывается определенное время. Как установить свое время
видимости, возможно ли это?

Свое время установить возможно, но этот процесс не совсем тривиальный. По умолчанию значение таймаута - 10 секунд.
Установить свою длительность можно 2 способами:

  •  Переопределить поведение QToolTipEvent, более подробно можно посмотреть здесь . Используйте данный метод, если хотите показывать тултип меньше стандартного времени, например, 5 секунд.
  •  Переопределить эвент, но показывать тултипы не используя класс QToolTip, и реализовывая свою логику отрисовки и т.п.

С QRect не совсем понял, что Вы хотели с ним сделать?

Спасибо! Я так понял все от ОС зависит .. используется ее метод показа подсказок. 
Про QRect я имел ввиду что через него меняю размер подсказки а он не меняется. 


--------------------
Red Hat Fedora 17
Qt 4.8.1 (x64), GCC 4.4.3,
G++ 4.4.3, QtCreator 2.4.1
PM MAIL ICQ   Вверх
devfom
Дата 26.11.2012, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.11.2012

Репутация: нет
Всего: нет



Нельзя изменить размер тултипа, в текущем API, в том числе используя QSS свойства width; height;
Из документации http://doc.qt.digia.com/qt/qtooltip.html#showText
Цитата

If you specify a non-empty rect the tip will be hidden as soon as you move your cursor out of this area.
Если Вы задаете не пустой прямоугольник rect, то тултип будет скрыт, как только курсор покинет границы данного прямоугольника.

Но, можно использовать один хак: так как Qt позволяет использовать в QToolTip RichText, никто не мешает запихать в него HTML таблицу нужной ширины, и показывать нужные данные в строке, например:
Код

<html>
<body>
<table width="200">
  <tr>
    <th>Your text goes here</th>    
  </tr>
</table>
</body>
</html>

создаст таблицу шириной 200px с 1 строкой.
Таким образом можно варьировать ширину тултипа.
PM MAIL   Вверх
loneybibi
Дата 26.11.2012, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.5.2010
Где: Донецк (Украина)

Репутация: 3
Всего: 3



Спасибо smile


--------------------
Red Hat Fedora 17
Qt 4.8.1 (x64), GCC 4.4.3,
G++ 4.4.3, QtCreator 2.4.1
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1024 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.