2013-05-29 13 views
6

definieren Ich bin absolut neu in Qt.Qt: wie man Cmd + Tastenkombination für MAC

Wie definiere ich eine Cmd + numeric key Tastenfolge auf Mac in Code?

Für Windows habe ich

QKeySequence(QString("Ctrl+") + QString::number(number)); 

wo number ist, sagen wir, 2

Was das gleiche für eine MAC cmd Schlüssel sein sollte?

Und, ist es möglich für Qt irgendwie zu bestimmen, wenn wir auf Mac oder Windows laufen (so könnte ich Schlüsselsequenz als geeignet erstellen)?

Antwort

9

Wie in dem Qt::Modifier enum documentation bemerkt:

Hinweis: Unter Mac OS X entspricht der CTRL Wert auf die Befehlstaste auf die Macintosh-Tastatur und der META Wert entspricht die Steuer Tasten

Die QKeySequence documentation ist detaillierter:

Hinweis: Unter Mac OS X, Verweise auf "Strg", Qt :: CTRL, Qt :: Control und Qt :: ControlModifier entsprechen den Befehlstasten auf der Macintosh-Tastatur und Verweise auf "Meta", Qt :: META, Qt :: Meta und Qt: : MetaModifier entsprechen den Steuertasten. Entwickler auf Mac OS X können die gleichen Beschreibungen von Verknüpfungen auf allen Plattformen verwenden und ihre Anwendungen werden automatisch als erwartet auf Mac OS X.

So funktionieren, wenn Sie nur Ctrl verwenden auf Windows/Linux und Cmd auf MacOS, Sie brauchen nichts zu ändern, verwenden Sie einfach die Windows-Sequenz.

+0

Sie meinen, es sollte wie QKeySequence (QString ("Cmd + 1")) auf Mac sein? Ich habe einfach keinen Mac, den ich überprüfen kann, tut mir leid. –

+1

Nein, das "Ctrl" -Token entspricht "Qt :: CTRL", was auf Macs als "Cmd" -Schlüssel gilt, also wird 'QKeySequence (QString (" Strg + 1 ")) unabhängig von der Plattform korrekt gelesen. – cmannett85

Verwandte Themen