Класс QWhatsThis
Класс QWhatsThis предоставляет простое описание любого виджета, отвечая на вопрос "Что это?". Подробнее...
| Заголовок: | #include <QWhatsThis> |
| qmake: | QT += widgets |
Статические публичные члены
| QAction * | createAction(QObject *parent = Q_NULLPTR) |
| void | enterWhatsThisMode() |
| void | hideText() |
| bool | inWhatsThisMode() |
| void | leaveWhatsThisMode() |
| void | showText(const QPoint &pos, const QString &text, QWidget *w = Q_NULLPTR) |
Подробное описание
Класс QWhatsThis предоставляет простое описание любого виджета, отвечая на вопрос "Что это?".
Справка "Что это?" является частью системы онлайн-справки приложения и предоставляет пользователям информацию о функциональности и использовании конкретного виджета. Тексты справки "Что это?" обычно длиннее и более подробны, чем всплывающие подсказки, но, как правило, содержат меньше информации, чем отдельные окна справки.
QWhatsThis предоставляет единственное окно с текстом описания, которое появляется, когда пользователь задаёт вопрос "Что это?". Стандартный способ задать этот вопрос — переместить фокус на соответствующий виджет и нажать Shift+F1. Текст справки появляется сразу; он исчезает, как только пользователь выполняет какое-либо другое действие. (Обратите внимание, что если существует ярлык для Shift+F1, этот механизм не будет работать.) Некоторые диалоговые окна предоставляют кнопку «?» которую пользователи могут нажать, чтобы войти в режим "Что это?"; затем они щелкают по соответствующему виджету, чтобы отобразить окно "Что это?". Также можно добавить пункт меню или кнопку на панели инструментов для переключения в режим "Что это?".
Для добавления текста "Что это?" к виджету или действию просто вызовите QWidget::setWhatsThis() или QAction::setWhatsThis().
Текст может быть форматированным или обычным. Если вы укажете форматированный текст, он будет отрисован с помощью стандартной таблицы стилей, что позволяет вставлять изображения в отображаемый текст. Для максимальной скорости стандартная таблица стилей использует простой метод для определения возможности отображения текста как обычного. См. Qt::mightBeRichText() для получения подробной информации.
newAct = new QAction(tr("&New"), this);
newAct->setShortcut(tr("Ctrl+N"));
newAct->setStatusTip(tr("Create a new file"));
newAct->setWhatsThis(tr("Click this option to create a new file.")); Альтернативный способ перехода в режим "Что это?" — вызвать createAction() и добавить возвращённый QAction в меню или на панель инструментов. Вызвав это действие контекстной справки (на рисунке ниже — кнопка со стрелкой и значком вопроса), пользователь переключается в режим "Что это?". Если теперь нажать на виджет, отобразится соответствующий текст справки. Режим завершается, когда предоставляется справка или пользователь нажимает Esc.
Вы можете программно перейти в режим "Что это?" с помощью enterWhatsThisMode(), проверить режим с помощью inWhatsThisMode() и вернуться в нормальный режим с помощью leaveWhatsThisMode().
Если вы хотите вручную управлять поведением "Что это?" для виджета, см. Qt::WA_CustomWhatsThis.
Также можно отображать различные тексты справки для разных областей виджета, используя QHelpEvent типа QEvent::WhatsThis. Перехватывайте событие справки в функции QWidget::event() своего виджета и вызывайте QWhatsThis::showText() с текстом, который вы хотите отобразить, для позиции, указанной в QHelpEvent::pos(). Если текст форматирован, а пользователь нажимает на ссылку, виджет также получает QWhatsThisClickedEvent со ссылкой на ссылку в качестве QWhatsThisClickedEvent::href(). Если QWhatsThisClickedEvent обрабатывается (т. е. QWidget::event() возвращает true), окно справки остаётся видимым. Вызовите QWhatsThis::hideText(), чтобы явно скрыть его.
См. также QToolTip.
Документация по членам-функциям
[static] QAction *QWhatsThis::createAction(QObject *parent = Q_NULLPTR)
Возвращает готовый QAction, используемый для вызова контекстной справки "Что это?", с заданным parent.
Возвращаемый QAction предоставляет удобный способ переключения пользователей в режим "Что это?".
[static] void QWhatsThis::enterWhatsThisMode()
Эта функция переключает пользовательский интерфейс в режим "Что это?". Пользовательский интерфейс может быть переключён обратно в нормальный режим пользователем (например, щелчком мыши или нажатием клавиши Esc) или программно вызовом leaveWhatsThisMode().
При входе в режим "Что это?" для всех виджетов верхнего уровня отправляется событие типа Qt::EnterWhatsThisMode.
См. также inWhatsThisMode() и leaveWhatsThisMode().
[static] void QWhatsThis::hideText()
Если окно "Что это?" отображается, оно уничтожается.
См. также showText().
[static] bool QWhatsThis::inWhatsThisMode()
Возвращает true если пользовательский интерфейс находится в режиме "Что это?"; в противном случае возвращает false.
См. также enterWhatsThisMode().
[static] void QWhatsThis::leaveWhatsThisMode()
Если пользовательский интерфейс находится в режиме "Что это?", эта функция переключает его обратно в нормальный режим; в противном случае ничего не происходит.
При выходе из режима "Что это?" для всех виджетов верхнего уровня отправляется событие типа Qt::LeaveWhatsThisMode.
См. также enterWhatsThisMode() и inWhatsThisMode().
[static] void QWhatsThis::showText(const QPoint &pos, const QString &text, QWidget *w = Q_NULLPTR)
Отображает text в виде окна "Что это?" в глобальной позиции pos. Необязательный аргумент виджета w используется для определения соответствующего экрана на системах с несколькими мониторами.
См. также hideText().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qwhatsthis.html