QWhatsThis Class
Die Klasse QWhatsThis liefert eine einfache Beschreibung eines beliebigen Widgets, d.h. eine Antwort auf die Frage "Was ist das?". Mehr...
Kopfzeile: | #include <QWhatsThis> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
- Liste aller Mitglieder, einschließlich vererbter Mitglieder
- QWhatsThis ist Teil des Hilfesystems.
Statische öffentliche Mitglieder
QAction * | createAction(QObject *parent = nullptr) |
void | enterWhatsThisMode() |
void | hideText() |
bool | inWhatsThisMode() |
void | leaveWhatsThisMode() |
void | showText(const QPoint &pos, const QString &text, QWidget *w = nullptr) |
Detaillierte Beschreibung
Die "What's This?"-Hilfe ist Teil des Online-Hilfesystems einer Anwendung und versorgt die Benutzer mit Informationen über die Funktionalität und Verwendung eines bestimmten Widgets. "Was ist das?"-Hilfetexte sind in der Regel länger und detaillierter als tooltips, bieten aber im Allgemeinen weniger Informationen als die, die von separaten Hilfefenstern geliefert werden.
QWhatsThis bietet ein einzelnes Fenster mit einem erklärenden Text, der erscheint, wenn der Benutzer "What's This? Die Standardmethode für Benutzer, die Frage zu stellen, besteht darin, den Fokus auf das entsprechende Widget zu setzen und Umschalt+F1 zu drücken. Der Hilfetext erscheint sofort; er verschwindet, sobald der Benutzer etwas anderes tut. (Beachten Sie, dass dieser Mechanismus nicht funktioniert, wenn es ein Tastenkürzel für Umschalt+F1 gibt). Einige Dialoge bieten eine "?"-Schaltfläche, auf die der Benutzer klicken kann, um in den "Was ist das?"-Modus zu gelangen; er klickt dann auf das entsprechende Widget, um das "Was ist das?"-Fenster zu öffnen. Es ist auch möglich, eine Menüoption oder eine Symbolleistenschaltfläche bereitzustellen, um in den "Was ist das?"-Modus zu wechseln.
Um einen "Was ist das?"-Text zu einem Widget oder einer Aktion hinzuzufügen, rufen Sie einfach QWidget::setWhatsThis() oder QAction::setWhatsThis() auf.
Der Text kann entweder als Rich-Text oder als einfacher Text eingegeben werden. Wenn Sie eine formatierte Rich-Text-Zeichenkette angeben, wird diese mit dem Standard-Stylesheet gerendert, wodurch es möglich ist, Bilder in den angezeigten Text einzubetten. Um so schnell wie möglich zu sein, verwendet das Standard-Stylesheet eine einfache Methode, um festzustellen, ob der Text als reiner Text wiedergegeben werden kann. Siehe Qt::mightBeRichText() für Details.
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."));
Eine alternative Möglichkeit, in den "Was ist das?"-Modus zu gelangen, besteht darin, createAction() aufzurufen und die zurückgegebene QAction entweder zu einem Menü oder einer Symbolleiste hinzuzufügen. Durch den Aufruf dieser Kontexthilfe-Aktion (in der Abbildung unten die Schaltfläche mit dem Pfeil und dem Fragezeichen-Symbol) schaltet der Benutzer in den "Was ist das?"-Modus. Wenn er nun auf ein Widget klickt, wird der entsprechende Hilfetext angezeigt. Der Modus wird verlassen, wenn Hilfe gegeben wird oder wenn der Benutzer Esc drückt.
Sie können den "What's This?"-Modus programmatisch mit enterWhatsThisMode() aufrufen, den Modus mit inWhatsThisMode() überprüfen und mit leaveWhatsThisMode() in den normalen Modus zurückkehren.
Wenn Sie das "What's This?"-Verhalten eines Widgets manuell steuern möchten, lesen Sie Qt::WA_CustomWhatsThis.
Es ist auch möglich, verschiedene Hilfetexte für verschiedene Bereiche eines Widgets anzuzeigen, indem Sie ein QHelpEvent vom Typ QEvent::WhatsThis verwenden. Fangen Sie das Hilfe-Ereignis in der Funktion QWidget::event() Ihres Widgets ab und rufen Sie QWhatsThis::showText() mit dem Text auf, den Sie an der in QHelpEvent::pos() angegebenen Position anzeigen möchten. Wenn es sich bei dem Text um Rich-Text handelt und der Benutzer auf einen Link klickt, erhält das Widget auch ein QWhatsThisClickedEvent mit dem Verweis auf den Link als QWhatsThisClickedEvent::href(). Wenn ein QWhatsThisClickedEvent behandelt wird (d.h. QWidget::event() gibt true zurück), bleibt das Hilfefenster sichtbar. Rufen Sie QWhatsThis::hideText() auf, um es explizit auszublenden.
Siehe auch QToolTip.
Dokumentation der Mitgliedsfunktionen
[static]
QAction *QWhatsThis::createAction(QObject *parent = nullptr)
Gibt eine fertige QAction zurück, die zum Aufrufen der "What's This?"-Kontexthilfe mit der angegebenen parent verwendet wird.
Die zurückgegebene QAction bietet eine bequeme Möglichkeit, den Benutzer in den "What's This?"-Modus zu bringen.
[static]
void QWhatsThis::enterWhatsThisMode()
Diese Funktion schaltet die Benutzeroberfläche in den "What's This?"-Modus. Die Benutzeroberfläche kann durch den Benutzer (z.B. durch Klicken oder Drücken von Esc) oder programmatisch durch den Aufruf von leaveWhatsThisMode() wieder in den normalen Modus geschaltet werden.
Beim Wechsel in den "What's This?"-Modus wird eine QEvent vom Typ Qt::EnterWhatsThisMode an alle Toplevel-Widgets gesendet.
Siehe auch inWhatsThisMode() und leaveWhatsThisMode().
[static]
void QWhatsThis::hideText()
Wenn ein "What's This?"-Fenster angezeigt wird, wird es dadurch zerstört.
Siehe auch showText().
[static]
bool QWhatsThis::inWhatsThisMode()
Gibt true
zurück, wenn sich die Benutzeroberfläche im Modus "Was ist das?" befindet; andernfalls wird false
zurückgegeben.
Siehe auch enterWhatsThisMode().
[static]
void QWhatsThis::leaveWhatsThisMode()
Wenn sich die Benutzeroberfläche im "What's This?"-Modus befindet, schaltet diese Funktion zurück in den normalen Modus; andernfalls tut sie nichts.
Beim Verlassen des "What's This?"-Modus wird eine QEvent vom Typ Qt::LeaveWhatsThisMode an alle Toplevel-Widgets gesendet.
Siehe auch enterWhatsThisMode() und inWhatsThisMode().
[static]
void QWhatsThis::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr)
Zeigt text als ein "Was ist das?"-Fenster an der globalen Position pos an. Das optionale Widget-Argument w wird verwendet, um den geeigneten Bildschirm auf Systemen mit mehreren Köpfen zu bestimmen.
Siehe auch hideText().
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.