2013-05-29 15 views
6

Jestem absolutnie nowy w Qt.Qt: jak zdefiniować skrót klawiszowy Cmd + dla MAC

Jak zdefiniować kod klucza Cmd + numeric key na komputerze Mac?

Dla Windows mam

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

gdzie number jest, powiedzmy, 2

Jaki powinien być taki sam dla MAC cmd klucza?

Czy Qt może w jakiś sposób określić, czy używamy komputera Mac lub systemu Windows (aby w razie potrzeby utworzyć sekwencję klawiszy)?

Odpowiedz

9

Jak zaznaczono w Qt::Modifier enum documentation:

Uwaga: W systemie Mac OS X, wartość CTRL odpowiada klawisze komend na klawiaturę Macintosh, a wartość META odpowiada Kontroli klucze

QKeySequence documentation jest bardziej szczegółowy:

Uwaga: W systemie Mac OS X, odniesienia do "Ctrl", Qt :: CTRL, Qt :: Control i Qt :: ControlModifier odpowiadają klawiszom Command na klawiaturze Macintosh , a odniesienia do "Meta", Qt :: META, Qt :: Meta i Qt: : MetaModifier odpowiada klawiszom Control. Deweloperzy na Mac OS X może korzystać z tych samych opisów skrótów na wszystkich platformach, a ich wnioski zostaną automatycznie działać zgodnie z oczekiwaniami na Mac OS X.

więc jeśli jesteś po prostu używając Ctrl w systemie Windows/Linux oraz Cmd na MacOS, nie musisz niczego zmieniać, wystarczy użyć sekwencji Windows.

+0

Masz na myśli, że powinien wyglądać jak QKeySequence (QString ("Cmd + 1")) na Macu? Po prostu nie mam Maca, żeby to sprawdzić, przepraszam. –

+1

Nie, token "Ctrl" mapuje na 'Qt :: CTRL', który jest uważany za klucz" Cmd "na Macach, więc' QKeySequence (QString ("Ctrl + 1"))) jest odczytywany poprawnie niezależnie od platformy. – cmannett85

Powiązane problemy