Класс QToolTip
Класс QToolTip предоставляет всплывающие подсказки (помощь в виде балуна) для любого виджета. Подробнее...
| Заголовок: | #include <QToolTip> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
Статические публичные члены
| QFont | font() |
| void | hideText() |
| bool | isVisible() |
| QPalette | palette() |
| void | setFont(const QFont &font) |
| void | setPalette(const QPalette &palette) |
| void | showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1) |
| QString | text() |
Подробное описание
Подсказка — это короткий фрагмент текста, напоминающий пользователю о функции виджета. Она отображается сразу под заданной позицией в отличительном черно-желтом цветовом сочетании. Подсказка может быть любым форматированным строковым значением богатого текста rich text.
Форматированный текст, отображаемый в подсказке, неявно переносится на новую строку, если не указано иное с помощью <p style='white-space:pre'>.
Самый простой и распространённый способ установить подсказку виджета — вызов его функции QWidget::setToolTip().
Также можно отображать различные подсказки для различных областей виджета, используя QHelpEvent типа QEvent::ToolTip. Перехватывайте событие помощи в функции event() вашего виджета и вызывайте QToolTip::showText() с текстом, который вы хотите отобразить. Пример Tooltips иллюстрирует эту технику.
Если вы вызываете QToolTip::hideText() или QToolTip::showText() с пустой строкой в результате события ToolTip, вы также должны вызвать ignore() для события, чтобы сигнализировать, что вы не хотите запускать режимы, специфичные для подсказок.
Обратите внимание, что если вы хотите отображать подсказки в представлении элементов, архитектура модели/представления предоставляет возможность устанавливать подсказку элемента; например, функция QTableWidgetItem::setToolTip(). Однако, если вы хотите предоставить пользовательские подсказки в представлении элементов, вы должны перехватить событие помощи в функции QAbstractItemView::viewportEvent() и обработать его самостоятельно.
Значение по умолчанию цвета и шрифта подсказки можно настроить с помощью setPalette() и setFont(). Когда подсказка отображается, isVisible() возвращает true и text() — отображаемый в данный момент текст.
Примечание: Подсказки используют пассивную группу цветов QPalette, так как подсказки не являются активными окнами.
См. также QWidget::toolTip, QAction::toolTip и Пример подсказок.
Документация по функциям-членам
[static] QFont QToolTip::font()
Возвращает шрифт, используемый для отображения подсказок.
См. также setFont().
[static] void QToolTip::hideText()
Скрывает подсказку. Это эквивалентно вызову showText() с пустой строкой.
См. также showText().
[static] bool QToolTip::isVisible()
Возвращает true, если подсказка в данный момент отображается.
См. также showText().
[static] QPalette QToolTip::palette()
Возвращает палитру, используемую для отображения подсказок.
Примечание: Подсказки используют пассивную группу цветов QPalette, так как подсказки не являются активными окнами.
См. также setPalette().
[static] void QToolTip::setFont(const QFont &font)
Устанавливает font, используемый для отображения подсказок.
См. также font().
[static] void QToolTip::setPalette(const QPalette &palette)
Устанавливает palette, используемую для отображения подсказок.
Примечание: Подсказки используют пассивную группу цветов QPalette, так как подсказки не являются активными окнами.
См. также palette().
[static] void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1)
Отображает text в виде подсказки с глобальной позицией pos в качестве точки интереса. Подсказка будет отображаться с платформенно-специфичным смещением от этой точки интереса.
Если вы укажете непустой прямоугольник, подсказка будет скрыта, как только курсор выйдет из этой области.
rect задаётся в координатах виджета, который вы указываете с помощью w. Если rect не пустая, вы должны указать виджет. В противном случае этот аргумент может быть nullptr, но он используется для определения соответствующего экрана на системах с несколькими мониторами.
Параметр msecDisplayTime указывает, сколько времени будет отображаться подсказка в миллисекундах. При значении по умолчанию -1 время основано на длине текста.
Если text пустая, подсказка скрывается. Если текст совпадает с текущей отображаемой подсказкой, подсказка не перемещается. Вы можете принудительно переместить подсказку, сначала скрыв её пустым текстом, а затем отобразив новую подсказку в новом положении.
[static] QString QToolTip::text()
Возвращает текст подсказки, если подсказка отображается, или пустую строку, если подсказка не отображается.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtooltip.html