Spec-Zone.ru › Qt 5.11

Класс QWhatsThis

Класс QWhatsThis предоставляет простое описание любого виджета, т.е. отвечает на вопрос "Что это?". Подробнее...

Заголовок: #include <QWhatsThis>
qmake: QT += widgets
  • Список всех членов, включая унаследованные

Статические публичные члены

QAction * createAction(QObject *parent = nullptr)
void enterWhatsThisMode()
void hideText()
bool inWhatsThisMode()
void leaveWhatsThisMode()
void showText(const QPoint &pos, const QString &text, QWidget *w = 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 = 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 = 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.11/qwhatsthis.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API