QKeySequence Class

Die Klasse QKeySequence kapselt eine Tastensequenz, wie sie von Shortcuts verwendet wird. Mehr...

Kopfzeile: #include <QKeySequence>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Öffentliche Typen

enum SequenceFormat { NativeText, PortableText }
enum SequenceMatch { NoMatch, PartialMatch, ExactMatch }
enum StandardKey { AddTab, Back, Backspace, Bold, Close, …, Cancel }

Öffentliche Funktionen

QKeySequence()
QKeySequence(QKeySequence::StandardKey key)
QKeySequence(const QString &key, QKeySequence::SequenceFormat format = NativeText)
QKeySequence(QKeyCombination k1, QKeyCombination k2 = QKeyCombination::fromCombined(0), QKeyCombination k3 = QKeyCombination::fromCombined(0), QKeyCombination k4 = QKeyCombination::fromCombined(0))
QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0)
QKeySequence(const QKeySequence &keysequence)
~QKeySequence()
int count() const
bool isEmpty() const
QKeySequence::SequenceMatch matches(const QKeySequence &seq) const
void swap(QKeySequence &other)
QString toString(QKeySequence::SequenceFormat format = PortableText) const
QVariant operator QVariant() const
bool operator!=(const QKeySequence &other) const
bool operator<(const QKeySequence &other) const
bool operator<=(const QKeySequence &other) const
QKeySequence &operator=(QKeySequence &&other)
QKeySequence &operator=(const QKeySequence &other)
bool operator==(const QKeySequence &other) const
bool operator>(const QKeySequence &other) const
bool operator>=(const QKeySequence &other) const
QKeyCombination operator[](uint index) const

Statische öffentliche Mitglieder

QKeySequence fromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
QList<QKeySequence> listFromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
QString listToString(const QList<QKeySequence> &list, QKeySequence::SequenceFormat format = PortableText)
QKeySequence mnemonic(const QString &text)
size_t qHash(const QKeySequence &key, size_t seed = 0)
void qt_set_sequence_auto_mnemonic(bool b)
QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)
QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)

Detaillierte Beschreibung

In ihrer gebräuchlichsten Form beschreibt eine Tastensequenz eine Kombination von Tasten, die zusammen verwendet werden müssen, um eine Aktion auszuführen. Tastensequenzen werden mit QAction Objekten verwendet, um festzulegen, welche Tastenkombinationen verwendet werden können, um Aktionen auszulösen.

Tastensequenzen können auf drei verschiedene Arten für die Verwendung als Tastenkombinationen erstellt werden:

  • Für Standard-Tastenkombinationen kann eine standard key verwendet werden, um die plattformspezifische Tastensequenz abzufragen, die mit jeder Tastenkombination verbunden ist.
  • Für benutzerdefinierte Tastenkombinationen können von Menschen lesbare Zeichenfolgen wie "Strg+X" verwendet werden, die für Benutzer verschiedener Sprachen in die entsprechenden Tastenkombinationen übersetzt werden können. Die Übersetzungen werden im Kontext von "QShortcut" vorgenommen.
  • Für fest codierte Tastenkombinationen können ganzzahlige Tastencodes mit einer Kombination von Werten angegeben werden, die durch die Enum-Werte Qt::Key und Qt::KeyboardModifier definiert sind. Jeder Tastencode besteht aus einem einzelnen Wert Qt::Key und null oder mehr Modifikatoren, wie Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifier und Qt::MetaModifier.

Ctrl P könnte beispielsweise eine Sequenz sein, die als Abkürzung für das Drucken eines Dokuments verwendet wird, und kann auf jede der folgenden Arten angegeben werden:

QKeySequence(QKeySequence::Print);
QKeySequence(tr("Ctrl+P"));
QKeySequence(tr("Ctrl+p"));
QKeySequence(Qt::CTRL | Qt::Key_P);
QKeySequence(Qt::CTRL + Qt::Key_P); // deprecated

Beachten Sie, dass bei Buchstaben die Groß- und Kleinschreibung in der Zeichenkette keine Rolle spielt. In den obigen Beispielen muss der Benutzer die Taste Shift nicht gedrückt halten, um eine mit "Strg+P" angegebene Tastenkombination zu aktivieren. Bei anderen Tasten kann die Verwendung von Shift als nicht spezifizierte zusätzliche Modifikatortaste jedoch zu Verwirrung bei Benutzern einer Anwendung führen, deren Tastaturen ein anderes Layout haben als die von den Entwicklern verwendeten. Siehe den Abschnitt Keyboard Layout Issues weiter unten für weitere Details.

Es ist vorzuziehen, wenn möglich, Standard-Tastenkombinationen zu verwenden. Bei der Erstellung von Tastenkombinationen für Nicht-Standard-Tastenkombinationen sollten Sie menschenlesbare Strings anstelle von hart kodierten Integer-Werten verwenden.

QKeySequence-Objekte können in QString umgewandelt werden, um eine menschenlesbare, übersetzte Version der Sequenz zu erhalten. In ähnlicher Weise erzeugt die Funktion toString() menschenlesbare Zeichenketten für die Verwendung in Menüs. Auf Apple-Plattformen werden die entsprechenden Symbole verwendet, um Tastenkombinationen mit speziellen Tasten auf der Macintosh-Tastatur zu beschreiben.

Ein alternativer Weg, um fest kodierte Tastencodes zu spezifizieren, ist die Verwendung des Unicode-Codepunkts des Zeichens; zum Beispiel ergibt 'A' die gleiche Tastenfolge wie Qt::Key_A.

Hinweis: Auf Apple-Plattformen entsprechen Verweise auf "Strg", Qt::CTRL, Qt::Key_Control und Qt::ControlModifier den Tasten Command auf der Macintosh-Tastatur, und Verweise auf "Meta", Qt::META, Qt::Key_Meta und Qt::MetaModifier den Tasten Control. So können Entwickler auf allen Plattformen dieselben Tastenkombinationen verwenden, und ihre Programme funktionieren auf den Apple-Plattformen automatisch wie erwartet.

Standard-Tastenkombinationen

QKeySequence definiert viele standard keyboard shortcuts, um den Aufwand beim Einrichten von Aktionen in einer typischen Anwendung zu reduzieren. Die folgende Tabelle zeigt einige gängige Tastenkombinationen, die von Anwendungen auf vier weit verbreiteten Plattformen häufig für diese Standard-Shortcuts verwendet werden. Beachten Sie, dass auf Apple-Plattformen der Wert Ctrl den Tasten Command auf der Macintosh-Tastatur entspricht, und der Wert Meta den Tasten Control.

StandardKeyWindowsApple-PlattformenKDE PlasmaGNOME
HelpContentsF1Strg+?F1F1
WhatsThisUmschalt+F1Umschalttaste+F1Umschalttaste+F1Umschalttaste+F1
ÖffnenStrg+OStrg+OStrg+OStrg+O
SchließenStrg+F4, Strg+WStrg+W, Strg+F4Strg+WStrg+W
SpeichernStrg+SStrg+SStrg/StrgStrg+S
BeendenStrg+QStrg+QStrg+Q
SaveAsStrg+Umschalt+SStrg+Umschalt+SStrg+Umschalt+SStrg+Umschalt+S
NeuStrg+NStrg+NStrg+NStrg+N
LöschenEntfVorwärts Löschen, Meta+DEntf, Strg+DEntf, Strg+D
AusschneidenStrg+X, Umschalt+EntfStrg+X, Meta+KStrg+X, F20, Umschalt+EntfStrg+X, F20, Umschalt+Entf
KopierenStrg+C, Strg+EinfgStrg+CStrg+C, F16, Strg+EinfgStrg+C, F16, Strg+Einfg
EinfügenStrg+V, Umschalt+EinfgStrg+V, Meta+YStrg+V, F18, Umschalt+EinfgStrg+V, F18, Umschalt+Einfg
EinstellungenStrg+,
RückgängigStrg+Z, Alt+RücktasteStrg+ZStrg+Z, F14Strg+Z, F14
WiederholenStrg+Y, Umschalt+Strg+Z, Alt+Umschalt+RücktasteStrg+Umschalt+ZStrg+Umschalt+ZStrg+Umschalt+Z
ZurückAlt+Links, RücktasteStrg+[Alt+LinksAlt+Links
VorwärtsAlt+Rechts, Shift+RücktasteStrg+]Alt+RechtsAlt+Rechts
AktualisierenF5F5F5Strg+R, F5
ZoomInStrg+PlusStrg+PlusStrg+PlusStrg+Plus
ZoomOutStrg+MinusStrg+MinusStrg+MinusStrg+Minus
FullScreenF11, Alt+EingabeStrg+Meta+FF11, Strg+Umschalt+FStrg+F11
DruckenStrg+PStrg+PStrg+PStrg+P
AddTabStrg+TStrg+TStrg+Umschalt+N, Strg+TStrg+T
NextChildStrg+Tab, Vorwärts, Strg+F6Strg+}, Vorwärts, Strg+TabStrg+Tab, Vorwärts, Strg+KommaStrg+Tabulator, Vorwärts
PreviousChildStrg+Umschalt+Tab, Zurück, Strg+Umschalt+F6Strg+{, Zurück, Strg+Umschalt+TabStrg+Umschalt+Tab, Zurück, Strg+PeriodeStrg+Umschalt+Tab, Zurück
SuchenStrg+FStrg+FStrg+FStrg+F
FindNextF3, Strg+GStrg+GF3Strg+G, F3
FindPreviousUmschalt+F3, Strg+Umschalt+GStrg+Umschalt+GUmschalt+F3Strg+Umschalt+G, Umschalt+F3
ErsetzenStrg+H(keine)Strg+RStrg+H
SelectAllStrg+AStrg+AStrg+AStrg+A
Auswahl aufhebenStrg+Umschalt+AStrg+Umschalt+A
FettdruckStrg+BStrg+BStrg+BStrg+B
KursivStrg+IStrg+IStrg+IStrg+I
UnterstreichenStrg+UStrg+UStrg+UStrg+U
MoveToNextCharRechtsRechts, Meta+FRechtsRechts
MoveToPreviousCharLinksLinks, Meta+BLinksLinks
MoveToNextWordStrg+RechtsAlt+RechtsStrg+RechtsStrg+Rechts
MoveToPreviousWordStrg+LinksAlt+LinksStrg+LinksStrg+Links
MoveToNextLineRunterRunter, Meta+NRunterRunter
MoveToPreviousLineAufwärtsAufwärts, Meta+PAufwärtsAufwärts
MoveToNextPagePgDownPgDown, Alt+PgDown, Meta+Down, Meta+PgDown, Meta+VPgDownPgAb
MoveToPreviousPagePgUpPgAuf, Alt+PgAuf, Meta+Auf, Meta+PgAufPgUpPgUp
MoveToStartOfLineStartseiteStrg+Links, Meta+LinksNach HauseNach Hause
MoveToEndOfLineEndeStrg+Rechts, Meta+RechtsEnde, Strg+EEnde, Strg+E
MoveToStartOfBlock(keine)Alt+Hoch, Meta+A(keine)(keine)
MoveToEndOfBlock(keine)Alt+Ab, Meta+E(keine)(keine)
MoveToStartOfDocumentStrg+HomeStrg+Auf, StartStrg+HomeStrg+Heim
MoveToEndOfDocumentStrg+EndeStrg+Ab, EndeStrg+EndeStrg+Ende
SelectNextCharUmschalt+RechtsUmschalt+RechtsUmschalt+RechtsUmschalt+Rechts
SelectPreviousCharUmschalt+LinksUmschalt+LinksUmschalt+LinksUmschalt+Links
SelectNextWordStrg+Umschalt+RechtsAlt+Umschalt+RechtsStrg+Umschalt+RechtsStrg+Umschalt+Rechts
SelectPreviousWordStrg+Umschalt+LinksAlt+Umschalt+LinksStrg+Umschalt+LinksStrg+Umschalt+Links
SelectNextLineUmschalt+AbwärtsUmschalt+AbwärtsUmschalt+AbwärtsUmschalt+Abwärts
SelectPreviousLineUmschalt+AufUmschalt+AufUmschalt+AufUmschalt+Auf
SelectNextPageUmschalt+PgAbwärtsUmschalt+PgAbwärtsUmschalt+PgAbwärtsUmschalt+SteuertasteAb
SelectPreviousPageUmschalt+Bild hochUmschalttaste+Bild hochUmschalttaste+Bild hochUmschalttaste+Bild hoch
SelectStartOfLineUmschalt+StartseiteStrg+Umschalt+LinksUmschalt+HeimUmschalt+Startseite
SelectEndOfLineUmschalt+EndeStrg+Umschalt+RechtsUmschalt+EndeUmschalt+Ende
SelectStartOfBlock(keine)Alt+Umschalt+Hoch, Meta+Umschalt+A(keine)(keine)
SelectEndOfBlock(keine)Alt+Umschalt+Runter, Meta+Umschalt+E(keine)(keine)
SelectStartOfDocumentStrg+Umschalt+HomeStrg+Umschalt+Hoch, Umschalt+NachhauseStrg+Umschalt+NachhauseStrg+Umschalt+Startseite
SelectEndOfDocumentStrg+Umschalt+EndeStrg+Umschalt+Abwärts, Umschalt+EndeStrg+Umschalt+EndeStrg+Umschalt+Ende
DeleteStartOfWordStrg+RücktasteAlt+RücktasteStrg+RücktasteStrg+Rücktaste
DeleteEndOfWordStrg+Entf(keine)Strg+EntfStrg+Entf
DeleteEndOfLine(keine)(keine)Strg+KStrg+K
DeleteCompleteLine(keine)(keine)Strg+UStrg+U
InsertParagraphSeparatoreingebenEingabeEingabeEingabe
InsertLineSeparatorUmschalt+EingabeMeta+Eingabe, Meta+OUmschalt+EingabeUmschalt+Eingabe
Rücktaste(keine)Löschen, Meta+H(keine)(keine)
AbbrechenEscapeEscape, Strg+.EscapeEscape

Beachten Sie, dass sich die für die Standardtastenkombinationen verwendeten Tastenkombinationen von Plattform zu Plattform unterscheiden. Daher müssen Sie Ihre Tastenkombinationen auf jeder Plattform testen, um sicherzustellen, dass Sie nicht versehentlich vielen Aktionen dieselbe Tastenfolge zuweisen.

Probleme mit dem Tastaturlayout

Viele Tastenkombinationen werden von den Entwicklern auf der Grundlage des Layouts bestimmter Tastaturtypen ausgewählt, anstatt Tasten zu wählen, die den ersten Buchstaben des Aktionsnamens darstellen, wie z. B. Ctrl S ("Strg+S") oder Ctrl C ("Strg+C"). Da bestimmte Symbole nur mit Hilfe von Sondertasten auf bestimmten Tastaturlayouts eingegeben werden können, kann es vorkommen, dass Tastenkombinationen, die für ein bestimmtes Tastaturlayout vorgesehen sind, auf einer anderen Taste liegen, auf gar keiner Taste liegen oder eine zusätzliche Sondertaste erfordern, um auf anderen Tastaturlayouts verwendet zu werden.

So werden beispielsweise die Tastenkombinationen Ctrl plus und Ctrl minus häufig als Tastenkombinationen für Zoomoperationen in Grafikanwendungen verwendet, die als "Strg++" bzw. "Strg+-" angegeben werden können. Die Art und Weise, wie diese Tastenkombinationen angegeben und interpretiert werden, hängt jedoch von der Tastaturbelegung ab. Benutzer norwegischer Tastaturen werden feststellen, dass die Tasten + und - auf der Tastatur nicht nebeneinander liegen, können aber dennoch beide Tastenkombinationen aktivieren, ohne die Taste Shift drücken zu müssen. Benutzer britischer Tastaturen müssen jedoch die Taste Shift gedrückt halten, um das Symbol + einzugeben, so dass die Tastenkombination praktisch dasselbe ist wie "Strg+Umschalt+=".

Auch wenn manche Entwickler alle Modifikatoren, die sie auf ihren Tastaturen verwenden, vollständig angeben, um ein Tastaturkürzel zu aktivieren, führt dies zu unerwartetem Verhalten bei Benutzern mit unterschiedlichen Tastaturlayouts.

Ein Entwickler, der eine britische Tastatur verwendet, könnte sich beispielsweise dafür entscheiden, "Strg+Umschalt+=" als Tastenfolge anzugeben, um eine Tastenkombination zu erstellen, die sich zufällig genauso verhält wie Ctrl plus. Auf die Taste = muss jedoch mit der Taste Shift auf der norwegischen Tastatur zugegriffen werden, wodurch die gewünschte Tastenkombination tatsächlich Ctrl Shift Shift = (eine unmögliche Tastenkombination) ist.

Daher können sowohl von Menschen lesbare Zeichenketten als auch fest kodierte Tastencodes problematisch sein, wenn es darum geht, eine Tastenfolge festzulegen, die auf einer Vielzahl unterschiedlicher Tastaturlayouts verwendet werden kann. Nur die Verwendung von standard shortcuts garantiert, dass der Benutzer die Tastenkombinationen verwenden kann, die der Entwickler vorgesehen hat.

Trotzdem können wir dieses Problem lösen, indem wir sicherstellen, dass menschenlesbare Zeichenketten verwendet werden, die es ermöglichen, Übersetzungen von Tastenkombinationen für Benutzer verschiedener Sprachen zu erstellen. Dieser Ansatz wird für Benutzer erfolgreich sein, deren Tastaturen das typische Layout für die Sprache haben, die sie benutzen.

Tastensequenzen im Stil von GNU Emacs

Tastensequenzen, die denen in GNU Emacs ähneln und bis zu vier Tastencodes erlauben, können mit dem Konstruktor für mehrere Argumente oder durch Übergabe einer menschenlesbaren Zeichenkette mit durch Kommata getrennten Tastensequenzen erstellt werden.

Zum Beispiel kann die Schlüsselsequenz Ctrl X, gefolgt von Ctrl C, auf eine der folgenden Arten angegeben werden:

QKeySequence(tr("Ctrl+X, Ctrl+C"));
QKeySequence(Qt::CTRL | Qt::Key_X, Qt::CTRL | Qt::Key_C);
QKeySequence(Qt::CTRL + Qt::Key_X, Qt::CTRL + Qt::Key_C); // deprecated

Warnung: Eine QApplication Instanz muss erstellt worden sein, bevor eine QKeySequence erstellt wird; andernfalls kann Ihre Anwendung abstürzen.

Siehe auch QShortcut.

Dokumentation der Mitgliedstypen

enum QKeySequence::SequenceFormat

KonstanteWertBeschreibung
QKeySequence::NativeText0Die Tastenfolge als plattformspezifische Zeichenkette. Das bedeutet, dass sie übersetzt angezeigt wird und auf Apple-Plattformen einer Tastenfolge aus der Menüleiste ähnelt. Diese Aufzählung wird am besten verwendet, wenn Sie die Zeichenfolge dem Benutzer anzeigen möchten.
QKeySequence::PortableText1Die Tastenfolge wird in einem "portablen" Format angegeben, das sich zum Lesen und Schreiben in eine Datei eignet. In vielen Fällen wird sie ähnlich wie der native Text unter Windows und X11 aussehen.

enum QKeySequence::SequenceMatch

KonstanteWertBeschreibung
QKeySequence::NoMatch0Die Schlüsselsequenzen sind unterschiedlich; sie stimmen nicht einmal teilweise überein.
QKeySequence::PartialMatch1Die Schlüsselfolgen stimmen teilweise überein, sind aber nicht identisch.
QKeySequence::ExactMatch2Die Schlüsselfolgen stimmen überein.

enum QKeySequence::StandardKey

Diese Aufzählung steht für Standard-Tastenbelegungen. Sie können verwendet werden, um einem QAction plattformabhängige Tastaturkürzel zuzuweisen.

Beachten Sie, dass die Tastenbelegungen plattformabhängig sind. Die aktuell gebundenen Tastenkombinationen können mit keyBindings() abgefragt werden.

KonstanteWertBeschreibung
QKeySequence::AddTab19Neue Registerkarte hinzufügen.
QKeySequence::Back13Zurück navigieren.
QKeySequence::Backspace69Vorheriges Zeichen löschen.
QKeySequence::Bold27Fettgedruckter Text.
QKeySequence::Close4Dokument/Registerkarte schließen.
QKeySequence::Copy9Kopieren.
QKeySequence::Cut8Ausschneiden.
QKeySequence::Delete7Löschen.
QKeySequence::DeleteEndOfLine60Zeilenende löschen.
QKeySequence::DeleteEndOfWord59Wort ab dem Ende des Cursors löschen.
QKeySequence::DeleteStartOfWord58Löschen des Wortanfangs bis zum Cursor.
QKeySequence::DeleteCompleteLine68Die gesamte Zeile löschen.
QKeySequence::Find22Im Dokument suchen.
QKeySequence::FindNext23Nächstes Ergebnis suchen.
QKeySequence::FindPrevious24Vorheriges Ergebnis suchen.
QKeySequence::Forward14Vorwärts navigieren.
QKeySequence::HelpContents1Hilfeinhalt öffnen.
QKeySequence::InsertLineSeparator62Eine neue Zeile einfügen.
QKeySequence::InsertParagraphSeparator61Einfügen eines neuen Absatzes.
QKeySequence::Italic28Text kursiv setzen.
QKeySequence::MoveToEndOfBlock41Cursor an das Ende des Blocks bewegen. Diese Tastenkombination wird nur auf Apple-Plattformen verwendet.
QKeySequence::MoveToEndOfDocument43Cursor an das Ende des Dokuments bewegen.
QKeySequence::MoveToEndOfLine39Cursor an das Ende der Zeile bewegen.
QKeySequence::MoveToNextChar30Cursor zum nächsten Zeichen bewegen.
QKeySequence::MoveToNextLine34Cursor in die nächste Zeile bewegen.
QKeySequence::MoveToNextPage36Cursor auf die nächste Seite bewegen.
QKeySequence::MoveToNextWord32Cursor zum nächsten Wort bewegen.
QKeySequence::MoveToPreviousChar31Cursor zum vorherigen Zeichen bewegen.
QKeySequence::MoveToPreviousLine35Cursor in die vorherige Zeile bewegen.
QKeySequence::MoveToPreviousPage37Cursor auf die vorherige Seite bewegen.
QKeySequence::MoveToPreviousWord33Cursor zum vorherigen Wort bewegen.
QKeySequence::MoveToStartOfBlock40Cursor an den Anfang eines Blocks bewegen. Diese Tastenkombination wird nur auf Apple-Plattformen verwendet.
QKeySequence::MoveToStartOfDocument42Cursor an den Anfang des Dokuments bewegen.
QKeySequence::MoveToStartOfLine38Cursor an den Anfang einer Zeile bewegen.
QKeySequence::New6Neues Dokument erstellen.
QKeySequence::NextChild20Zur nächsten Registerkarte oder zum untergeordneten Fenster navigieren.
QKeySequence::Open3Dokument öffnen.
QKeySequence::Paste10Einfügen.
QKeySequence::Preferences64Öffnen Sie den Einstellungsdialog.
QKeySequence::PreviousChild21Zur vorigen Registerkarte oder zum vorigen Unterfenster navigieren.
QKeySequence::Print18Dokument drucken.
QKeySequence::Quit65Beenden der Anwendung.
QKeySequence::Redo12Wiederholen.
QKeySequence::Refresh15Aktuelles Dokument aktualisieren oder neu laden.
QKeySequence::Replace25Suchen und Ersetzen.
QKeySequence::SaveAs63Dokument speichern, nachdem der Benutzer zur Eingabe eines Dateinamens aufgefordert wurde.
QKeySequence::Save5Dokument speichern.
QKeySequence::SelectAll26Gesamten Text markieren.
QKeySequence::Deselect67Auswahl des Textes aufheben. Seit 5.1
QKeySequence::SelectEndOfBlock55Erweitern der Auswahl bis zum Ende eines Textblocks. Diese Abkürzung wird nur auf Apple-Plattformen verwendet.
QKeySequence::SelectEndOfDocument57Erweitern Sie die Auswahl bis zum Ende des Dokuments.
QKeySequence::SelectEndOfLine53Erweitern der Auswahl bis zum Ende der Zeile.
QKeySequence::SelectNextChar44Erweitern der Auswahl bis zum nächsten Zeichen.
QKeySequence::SelectNextLine48Erweitern der Auswahl bis zur nächsten Zeile.
QKeySequence::SelectNextPage50Erweitern der Auswahl bis zur nächsten Seite.
QKeySequence::SelectNextWord46Erweitern der Auswahl bis zum nächsten Wort.
QKeySequence::SelectPreviousChar45Erweitern der Auswahl bis zum vorherigen Zeichen.
QKeySequence::SelectPreviousLine49Erweitern der Auswahl auf die vorherige Zeile.
QKeySequence::SelectPreviousPage51Erweitern der Auswahl auf die vorherige Seite.
QKeySequence::SelectPreviousWord47Erweitern der Auswahl bis zum vorherigen Wort.
QKeySequence::SelectStartOfBlock54Erweitern der Auswahl bis zum Anfang eines Textblocks. Diese Tastenkombination wird nur auf Apple-Plattformen verwendet.
QKeySequence::SelectStartOfDocument56Erweitern der Auswahl bis zum Anfang des Dokuments.
QKeySequence::SelectStartOfLine52Erweitern der Auswahl bis zum Anfang einer Zeile.
QKeySequence::Underline29Text unterstreichen.
QKeySequence::Undo11Rückgängig machen.
QKeySequence::UnknownKey0Ungebundene Taste.
QKeySequence::WhatsThis2Aktivieren Sie "was ist das".
QKeySequence::ZoomIn16Einzoomen.
QKeySequence::ZoomOut17Herauszoomen.
QKeySequence::FullScreen66Umschalten des Fensterstatus auf/von Vollbild.
QKeySequence::Cancel70Abbrechen des aktuellen Vorgangs.

Dokumentation der Mitgliedsfunktionen

QKeySequence::QKeySequence()

Konstruiert eine leere Tastenfolge.

QKeySequence::QKeySequence(QKeySequence::StandardKey key)

Konstruiert ein QKeySequence-Objekt für die angegebene key. Das Ergebnis hängt von der aktuell verwendeten Plattform ab.

Das resultierende Objekt basiert auf dem ersten Element in der Liste der Tastenbelegungen für die key.

QKeySequence::QKeySequence(const QString &key, QKeySequence::SequenceFormat format = NativeText)

Erzeugt eine Tastenfolge aus der Zeichenfolge key, basierend auf format.

Zum Beispiel ergibt "Ctrl+O" CTRL+'O'. Die Zeichenketten "Ctrl", "Shift", "Alt" und "Meta" werden erkannt, ebenso wie ihre übersetzten Entsprechungen im Kontext "QShortcut" (mit QObject::tr()).

Bis zu vier Tastencodes können durch Kommas getrennt eingegeben werden, z. B. "Alt+X,Ctrl+S,Q".

Dieser Konstruktor wird typischerweise mit tr() verwendet, so dass Tastenkombinationen in Übersetzungen ersetzt werden können:

QMenu *file = new QMenu(this);
file->addAction(tr("&Open..."), QKeySequence(tr("Ctrl+O", "File|Open")),
                this, &MainWindow::open);

Beachten Sie den Kommentar des Übersetzers "File|Open". Er ist keineswegs notwendig, bietet aber einen gewissen Kontext für den menschlichen Übersetzer.

QKeySequence::QKeySequence(QKeyCombination k1, QKeyCombination k2 = QKeyCombination::fromCombined(0), QKeyCombination k3 = QKeyCombination::fromCombined(0), QKeyCombination k4 = QKeyCombination::fromCombined(0))

Konstruiert eine Tastenfolge mit bis zu 4 Tasten k1, k2, k3 und k4.

Siehe auch QKeyCombination.

QKeySequence::QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0)

Konstruiert eine Tastenfolge mit bis zu 4 Tasten k1, k2, k3 und k4.

Die Tastencodes sind in Qt::Key aufgeführt und können mit Modifikatoren (siehe Qt::KeyboardModifier) wie Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifier oder Qt::MetaModifier kombiniert werden.

QKeySequence::QKeySequence(const QKeySequence &keysequence)

Konstruktor kopieren. Erzeugt eine Kopie von keysequence.

[noexcept] QKeySequence::~QKeySequence()

Zerstört die Tastenfolge.

int QKeySequence::count() const

Gibt die Anzahl der Tasten in der Tastenfolge zurück. Das Maximum ist 4.

[static] QKeySequence QKeySequence::fromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)

Gibt eine QKeySequence aus der Zeichenkette str zurück, die auf format basiert.

Siehe auch toString().

bool QKeySequence::isEmpty() const

Gibt true zurück, wenn die Schlüsselfolge leer ist; andernfalls wird false zurückgegeben.

[static] QList<QKeySequence> QKeySequence::keyBindings(QKeySequence::StandardKey key)

Gibt eine Liste der Tastenbelegungen für die angegebene key zurück. Das Ergebnis des Aufrufs dieser Funktion hängt von der Zielplattform ab. Das erste Element der Liste gibt die primäre Tastenkombination für die angegebene Plattform an. Wenn das Ergebnis mehr als ein Ergebnis enthält, können diese als alternative Tastenkombinationen auf der gleichen Plattform für die angegebene key betrachtet werden.

[static] QList<QKeySequence> QKeySequence::listFromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)

Gibt eine Liste von QKeySequence aus der Zeichenkette str zurück, die auf format basiert.

Siehe auch fromString() und listToString().

[static] QString QKeySequence::listToString(const QList<QKeySequence> &list, QKeySequence::SequenceFormat format = PortableText)

Gibt eine String-Repräsentation von list zurück, die auf format basiert.

Siehe auch toString() und listFromString().

QKeySequence::SequenceMatch QKeySequence::matches(const QKeySequence &seq) const

Stimmt mit der Sequenz seq überein. Gibt ExactMatch zurück, wenn erfolgreich, PartialMatch, wenn seq unvollständig übereinstimmt, und NoMatch, wenn die Sequenzen keine Gemeinsamkeiten haben. Gibt NoMatch zurück, wenn seq kürzer ist.

[static] QKeySequence QKeySequence::mnemonic(const QString &text)

Gibt die Tastenkombination für die Mnemonik in text zurück, oder eine leere Tastenkombination, wenn keine Mnemonik gefunden wird.

Beispiel: mnemonic("E&xit") gibt Qt::ALT+Qt::Key_X zurück, mnemonic("&Quit") gibt ALT+Key_Q zurück, und mnemonic("Quit") gibt eine leere QKeySequence zurück.

[noexcept] void QKeySequence::swap(QKeySequence &other)

Tauscht diese Tastenfolge mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QString QKeySequence::toString(QKeySequence::SequenceFormat format = PortableText) const

Gibt eine String-Repräsentation der Tastenfolge zurück, die auf format basiert.

Der Wert Qt::CTRL+Qt::Key_O ergibt zum Beispiel "Strg+O". Enthält die Tastenfolge mehrere Tastencodes, werden diese in der zurückgegebenen Zeichenfolge durch Kommas getrennt, z. B. "Alt+X, Strg+Y, Z". Die Zeichenfolgen "Strg", "Shift" usw. werden mit QObject::tr() im Kontext von "QShortcut" übersetzt.

Wenn die Tastenfolge keine Tasten enthält, wird eine leere Zeichenfolge zurückgegeben.

Auf Apple-Plattformen ähnelt die zurückgegebene Zeichenkette der Sequenz, die in der Menüleiste angezeigt wird, wenn format QKeySequence::NativeText ist; andernfalls verwendet die Zeichenkette das "portable" Format, das sich zum Schreiben in eine Datei eignet.

Siehe auch fromString().

QVariant QKeySequence::operator QVariant() const

Gibt die Tastenfolge als QVariant

bool QKeySequence::operator!=(const QKeySequence &other) const

Gibt true zurück, wenn diese Schlüsselfolge nicht gleich der Schlüsselfolge other ist; andernfalls wird false zurückgegeben.

bool QKeySequence::operator<(const QKeySequence &other) const

Ermöglicht einen beliebigen Vergleich zwischen dieser Schlüsselfolge und der Schlüsselfolge other. Es wird lediglich garantiert, dass der Operator false zurückgibt, wenn beide Schlüsselfolgen gleich sind, und dass (ks1 < ks2) == !( ks2 < ks1), wenn die Schlüsselfolgen nicht gleich sind.

Diese Funktion ist unter bestimmten Umständen nützlich, z.B. wenn Sie QKeySequence Objekte als Schlüssel in einem QMap verwenden wollen.

Siehe auch operator==(), operator!=(), operator>(), operator<=(), und operator>=().

bool QKeySequence::operator<=(const QKeySequence &other) const

Gibt true zurück, wenn diese Schlüsselfolge kleiner oder gleich der Schlüsselfolge other ist; andernfalls wird false zurückgegeben.

Siehe auch operator==(), operator!=(), operator<(), operator>(), und operator>=().

[noexcept] QKeySequence &QKeySequence::operator=(QKeySequence &&other)

Verschieben - weist other dieser QKeySequence Instanz zu.

QKeySequence &QKeySequence::operator=(const QKeySequence &other)

Zuweisungsoperator. Weist diesem Objekt die Tastenfolge other zu.

bool QKeySequence::operator==(const QKeySequence &other) const

Gibt true zurück, wenn diese Schlüsselfolge gleich der Schlüsselfolge other ist; andernfalls wird false zurückgegeben.

bool QKeySequence::operator>(const QKeySequence &other) const

Gibt true zurück, wenn diese Schlüsselfolge größer ist als die Schlüsselfolge other; andernfalls wird false zurückgegeben.

Siehe auch operator==(), operator!=(), operator<(), operator<=(), und operator>=().

bool QKeySequence::operator>=(const QKeySequence &other) const

Gibt true zurück, wenn diese Schlüsselfolge größer oder gleich der Schlüsselfolge other ist; andernfalls wird false zurückgegeben.

Siehe auch operator==(), operator!=(), operator<(), operator>(), und operator<=().

QKeyCombination QKeySequence::operator[](uint index) const

Gibt einen Verweis auf das Element an der Position index in der Schlüsselfolge zurück. Dies kann nur zum Lesen eines Elements verwendet werden.

Verwandte Nicht-Mitglieder

[noexcept] size_t qHash(const QKeySequence &key, size_t seed = 0)

Gibt den Hash-Wert für key zurück, wobei seed als Startwert für die Berechnung verwendet wird.

void qt_set_sequence_auto_mnemonic(bool b)

Legt fest, ob Mnemonics für Menüeinträge, Beschriftungen usw. beachtet werden sollen oder nicht. Unter Windows und X11 ist diese Funktion standardmäßig aktiviert; unter macOS ist sie deaktiviert. Wenn diese Funktion ausgeschaltet ist (d. h. wenn b falsch ist), gibt QKeySequence::mnemonic() immer eine leere Zeichenkette zurück.

Hinweis: Diese Funktion ist in keiner der Header-Dateien von Qt deklariert. Um sie in Ihrer Anwendung zu verwenden, deklarieren Sie den Funktionsprototyp, bevor Sie sie aufrufen.

Siehe auch QShortcut.

QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)

Schreibt den Schlüssel sequence in die stream.

Siehe auch Format der QDataStream-Operatoren.

QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)

Liest eine Schlüsselfolge aus dem stream in den Schlüssel sequence.

Siehe auch Format der QDataStream-Operatoren.

© 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.