QKeySequence Class
QKeySequence クラスは、ショートカットで使用されるキーシーケンスをカプセル化します。詳細...
Header: | #include <QKeySequence> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- 継承メンバを含むすべてのメンバの一覧
- QKeySequence は、暗黙的に共有されるクラスの一部です。
パブリック・タイプ
enum | SequenceFormat { NativeText, PortableText } |
enum | SequenceMatch { NoMatch, PartialMatch, ExactMatch } |
enum | StandardKey { AddTab, Back, Backspace, Bold, Close, …, Cancel } |
パブリック関数
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 |
静的パブリック・メンバ
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) |
詳細説明
最も一般的な形式では、キー配列は、何らかのアクションを実行するために一緒に使用しなければならないキーの組み合わせを記述します。キーシーケンスは、QAction オブジェクトとともに使用され、どのキーボードショートカットがアクションのトリガーとして使用できるかを指定します。
キー配列は、3つの異なる方法でキーボードショートカットとして使用するために構築することができます:
- 標準的なショートカットの場合、standard key を使用して、各ショートカットに関連付けられたプラットフォーム固有のキーシーケンスを要求することができます。
- カスタム・ショートカットの場合、"Ctrl+X "のような人間が読める文字列を使用することができ、異なる言語のユーザーのために適切なショートカットに翻訳することができます。翻訳は "QShortcut" コンテキストで行われます。
- ハードコードされたショートカットの場合、Qt::Key とQt::KeyboardModifier の列挙値で定義された値の組み合わせで、整数のキーコードを指定することができます。各キーコードは、単一のQt::Key 値と、Qt::ShiftModifier 、Qt::ControlModifier 、Qt::AltModifier 、Qt::MetaModifier などの0個以上の修飾子で構成される。
た と えばCtrl P は、 文書を印刷す る 際のシ ョ ー ト カ ッ ト と し て用い ら れ る シーケ ン ス であ り 、 以下のいずれかの方法で指定す る こ と がで き ます:
QKeySequence(QKeySequence::Print); QKeySequence(tr("Ctrl+P")); QKeySequence(tr("Ctrl+p")); QKeySequence(Qt::CTRL | Qt::Key_P); QKeySequence(Qt::CTRL + Qt::Key_P); // deprecated
文字の場合、指定文字列の大文字と小文字は関係ないことに注意。上記の例では、"Ctrl+P "で指定したショートカットを有効にするために、Shift キーを押し続ける必要はない。しかし、他のキーの場合、Shift を指定されていない追加修飾キーとして使用すると、開発者が使用しているキーボードと異なるレイアウトのアプリケーションのユーザーが混乱する可能性があります。詳しくは後述のKeyboard Layout Issues の項を参照のこと。
可能であれば、標準的なショートカットを使うことが望ましいです。非標準のショートカットのキーシーケンスを作成する場合は、ハードコードされた整数値ではなく、人間が読める文字列を使用する必要があります。
QKeySequence オブジェクトは、QString にキャストして、人間が読めるように翻訳されたバージョンのシーケンスを得ることができます。同様に、toString ()関数は、メニューで使用するための人間が読める文字列を生成します。Appleプラットフォームでは、Macintoshキーボードの特殊キーを使ったキーボードショートカットを記述するために、適切なシンボルが使用されます。
ハードコードされたキーコードを指定する別の方法は、文字のUnicodeコードポイントを使用することです。例えば、'A'は、Qt::Key_A と同じキーシーケンスを与えます。
注: Appleプラットフォームでは、「Ctrl」、Qt::CTRL 、Qt::Key_Control 、Qt::ControlModifier への参照はMacintoshキーボードのCommand キーに対応し、「Meta」、Qt::META 、Qt::Key_Meta 、Qt::MetaModifier への参照はControl キーに対応します。事実上、開発者はすべてのプラットフォームで同じショートカット記述を使うことができ、そのアプリケーションは自動的にAppleプラットフォームで期待通りに動作します。
標準ショートカット
QKeySequenceでは、一般的なアプリケーションでアクションを設定する際の手間を減らすために、standard keyboard shortcuts 。下の表は、広く使われている4つのプラットフォームのアプリケーションで、これらの標準ショートカットによく使われるキーシーケンスを示しています。Appleプラットフォームでは、Ctrl の値はMacintoshキーボードのCommand キーに対応し、Meta の値はControl キーに対応することに注意してください。
StandardKey | Windows | Appleプラットフォーム | KDE Plasma | GNOME |
---|---|---|---|---|
HelpContents | F1 | Ctrl+? | F1 | F1 |
WhatsThis | Shift+F1 | Shift+F1 | Shift+F1 | Shift+F1 |
開く | Ctrl+O | Ctrl+O | Ctrl+O | Ctrl+O |
閉じる | Ctrl+F4, Ctrl+W | Ctrl+W, Ctrl+F4 | Ctrl+W | Ctrl+W |
保存 | Ctrl+S | Ctrl+S | Ctrl+S | Ctrl+S |
終了 | Ctrl+Q | Ctrl+Q | Ctrl+Q | |
SaveAs | Ctrl+Shift+S | Ctrl+Shift+S | Ctrl+Shift+S | Ctrl+Shift+S |
新規 | Ctrl+N | Ctrl+N | Ctrl+N | Ctrl+N |
削除 | Del | 前方削除、Meta+D | Del、Ctrl+D | Del、Ctrl+D |
カット | Ctrl+X、Shift+Del | Ctrl+X, Meta+K | Ctrl+X, F20, Shift+Del | Ctrl+X, F20, Shift+Del |
コピー | Ctrl+C, Ctrl+Ins | Ctrl+C | Ctrl+C, F16, Ctrl+Ins | Ctrl+C, F16, Ctrl+Ins |
貼り付け | Ctrl+V, Shift+Ins | Ctrl+V, Meta+Y | Ctrl+V, F18, Shift+入力 | Ctrl+V, F18, Shift+Ins |
環境設定 | Ctrl+、 | |||
元に戻す | Ctrl+Z、Alt+バックスペース | Ctrl+Z | Ctrl+Z, F14 | Ctrl+Z, F14 |
やり直し | Ctrl+Y、Shift+Ctrl+Z、Alt+Shift+Backspace | Ctrl+Shift+Z | Ctrl+Shift+Z | Ctrl+Shift+Z |
バック | Alt+左, バックスペース | Ctrl+[ | Alt+左 | Alt+左 |
前進 | Alt+右、Shift+バックスペース | Ctrl+] を押します。 | Alt+右 | Alt+右 |
リフレッシュ | F5 | F5 | F5 | Ctrl+R、F5 |
ZoomIn | Ctrl+Plus | Ctrl+Plus | Ctrl+Plus | Ctrl+プラス |
ZoomOut | Ctrl+マイナス | Ctrl+マイナス | Ctrl+マイナス | Ctrl+Minus |
FullScreen | F11、Alt+Enter | Ctrl+Meta+F | F11、Ctrl+Shift+F | Ctrl+F11 |
プリント | Ctrl+P | Ctrl+P | Ctrl+P | Ctrl+P |
AddTab | Ctrl+T | Ctrl+T | Ctrl+Shift+N, Ctrl+T | Ctrl+T |
NextChild | Ctrl+Tab、前進、Ctrl+F6 | Ctrl+}、前進、Ctrl+Tab | Ctrl+Tab、前進、Ctrl+カンマ | Ctrl+タブ、前進 |
PreviousChild | Ctrl+Shift+Tab、戻る、Ctrl+Shift+F6 | Ctrl+{、戻る、Ctrl+Shift+Tab | Ctrl+Shift+Tab、戻る、Ctrl+ピリオド | Ctrl+Shift+Tab, 戻る |
検索 | Ctrl+F | Ctrl+F | Ctrl+F | Ctrl+F |
FindNext | F3, Ctrl+G | Ctrl+G | F3 | Ctrl+G, F3 |
FindPrevious | Shift+F3、Ctrl+Shift+G | Ctrl+Shift+G | Shift+F3 | Ctrl+Shift+G、Shift+F3 |
置換 | Ctrl+H | (なし) | Ctrl+R | Ctrl+H |
SelectAll | Ctrl+A | Ctrl+A | Ctrl+A | Ctrl+A |
選択解除 | Ctrl+Shift+A | Ctrl+Shift+A | ||
太字にする | Ctrl+B | Ctrl+B | Ctrl+B | Ctrl+B |
イタリック | Ctrl+I | Ctrl+I | Ctrl+I | Ctrl+I |
下線 | Ctrl+U | Ctrl+U | Ctrl+U | Ctrl+U |
MoveToNextChar | 右 | 右、Meta+F | 右 | 右 |
MoveToPreviousChar | 左 | 左, Meta+B | 左 | 左 |
MoveToNextWord | Ctrl+右 | Alt+右 | Ctrl+右 | Ctrl+右 |
MoveToPreviousWord | Ctrl+左 | Alt+左 | Ctrl+左 | Ctrl+左 |
MoveToNextLine | 下 | 下、Meta+N | 下 | 下 |
MoveToPreviousLine | 上 | 上, Meta+P | 上 | 上 |
MoveToNextPage | PgDown | PgDown、Alt+PgDown、Meta+Down、Meta+PgDown、Meta+V | PgDown | PgDown |
MoveToPreviousPage | PgUp | PgUp、Alt+PgUp、Meta+Up、Meta+PgUp | PgUp | PgUp |
MoveToStartOfLine | ホーム | Ctrl+左, Meta+左 | ホーム | ホーム |
MoveToEndOfLine | 終了 | Ctrl+右, Meta+右 | 終了, Ctrl+E | 終了, Ctrl+E |
MoveToStartOfBlock | (なし) | Alt+Up, Meta+A | (なし) | (none) |
MoveToEndOfBlock | (none) | Alt+下、Meta+E | (none) | (none) |
MoveToStartOfDocument | Ctrl+ホーム | Ctrl+上, ホーム | Ctrl+Home | Ctrl+Home |
MoveToEndOfDocument | Ctrl+End | Ctrl+Down, End | Ctrl+End | Ctrl+End |
SelectNextChar | Shift+右 | Shift+右 | Shift+Right | Shift+右 |
SelectPreviousChar | Shift+左 | Shift+左 | Shift+左 | Shift+左 |
SelectNextWord | Ctrl+Shift+右 | Alt+Shift+Right | Ctrl+Shift+右 | Ctrl+Shift+右 |
SelectPreviousWord | Ctrl+Shift+左 | Alt+Shift+左 | Ctrl+Shift+左 | Ctrl+Shift+左 |
SelectNextLine | Shift+下 | Shift+Down | Shift+Down | Shift+Down |
SelectPreviousLine | Shift+Up | Shift+Up | Shift+Up | Shift+Up |
SelectNextPage | Shift+PgDown | Shift+PgDown | Shift+PgDown | Shift+PgDown |
SelectPreviousPage | シフト+Pgアップ | Shift+PgUp | Shift+PgUp | Shift+PgUp |
SelectStartOfLine | Shift+ホーム | Ctrl+Shift+左 | Shift+Home | Shift+Home |
SelectEndOfLine | Shift+End | Ctrl+Shift+Right | Shift+終了 | Shift+End |
SelectStartOfBlock | (なし) | Alt+Shift+Up, Meta+Shift+A | (なし) | (none) |
SelectEndOfBlock | (なし) | Alt+Shift+Down、Meta+Shift+E | (なし) | (なし) |
SelectStartOfDocument | Ctrl+Shift+Home | Ctrl+Shift+↑、Shift+Home | Ctrl+Shift+Home | Ctrl+Shift+Home |
SelectEndOfDocument | Ctrl+Shift+End | Ctrl+Shift+Down、Shift+End | Ctrl+Shift+End | Ctrl+Shift+End |
DeleteStartOfWord | Ctrl+Backspace | Alt+バックスペース | Ctrl+バックスペース | Ctrl+バックスペース |
DeleteEndOfWord | Ctrl+Del | (なし) | Ctrl+Del | Ctrl+Del |
DeleteEndOfLine | (なし) | (none) | Ctrl+K | Ctrl+K |
DeleteCompleteLine | (none) | (none) | Ctrl+U | Ctrl+U |
InsertParagraphSeparator | エンター | エンター | 入力 | Enter |
InsertLineSeparator | Shift+Enter | Meta+Enter、Meta+O | Shift+Enter | Shift+Enterキー |
バックスペース | (なし) | Delete、Meta+H | (none) | (なし) |
キャンセル | エスケープ | エスケープ、Ctrl+. | エスケープ | エスケープ |
標準ショートカットに使用されるキー配列はプラットフォームによって異なるため、意図せず同じキー配列を多くのアクションに割り当ててしまわないよう、各プラットフォームでショートカットをテストする必要があることに注意してください。
キーボードレイアウトの問題
多くのキー配列の仕様は、Ctrl S ("Ctrl+S")やCtrl C ("Ctrl+C")のように、アクション名の最初の文字を表すキーを選ぶのではなく、特定のタイプのキーボードのレイアウトに基づいて開発者によって選ばれます。さらに、特定の記号は特定のキーボードレイアウトの修飾キーでしか入力できないため、あるキーボードレイアウトで使用することを意図したキー配列は、異なるキーにマッピングされたり、まったくキーにマッピングされなかったり、異なるキーボードレイアウトで使用するために追加の修飾キーが必要になったりすることがあります。
例えば、Ctrl plus とCtrl minus というショートカットは、グラフィックアプリケーションのズーム操作のショートカットとしてよく使われ、それぞれ「Ctrl++」と「Ctrl+-」と指定されることがあります。しかし、これらのショートカットがどのように指定され、解釈されるかは、キーボードレイアウトによって異なります。ノルウェー語キーボードのユーザーは、+ と- キーがキーボード上で隣接していないことに気づくだろうが、Shift キーを押さなくても両方のショートカットを起動することができる。しかし、イギリスのキーボードを使うユーザーは、+ シンボルを入力するためにShift キーを押し続ける必要があり、このショートカットは事実上「Ctrl+Shift+=」と同じになります。
ショートカットを有効にするために、キーボードで使用するすべての修飾子を完全に指定することに頼る開発者もいるかもしれませんが、これは異なるキーボードレイアウトのユーザーにとって予期せぬ動作につながります。
例えば、イギリスのキーボードを使用している開発者は、偶然にもCtrl plus と同じように動作するショートカットを作成するために、キー配列として「Ctrl+Shift+=」を指定することにするかもしれません。しかし、ノルウェーのキーボードではShift キーを使用して= キーにアクセスする必要があるため、必要なショートカットは事実上Ctrl Shift Shift = (不可能なキーの組み合わせ) となります。
その結果、人間が読める文字列とハードコードされたキーコードの両方は、さまざまな異なるキーボードレイアウトで使用できるキーシーケンスを指定するときに使用するには問題があります。開発者が意図したショートカットをユーザーが使えることを保証するのは、standard shortcuts の使用だけです。
にもかかわらず、人間が読める文字列を確実に使用することで、この問題に対処することができ、異なる言語のユーザーのためにキー配列の翻訳を行うことが可能になります。このアプローチは、キーボードが使用している言語の最も典型的なレイアウトを持つユーザーにとって成功するでしょう。
GNU Emacsスタイルのキー配列
GNU Emacsで使用されているキーシーケンスに似た、最大4つのキーコードを使用できるキーシーケンスは、複数引数のコンストラクタを使用するか、コンマで区切られたキーシーケンスの人間が読める文字列を渡すことで作成できます。
例えば、Ctrl X に続いてCtrl C というキー・シーケンスは、以下のどちらかの方法で指定することができる:
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
警告: 警告: QKeySequence が作成される前にQApplication インスタンスが構築されている必要があります。
QShortcutも参照してください 。
メンバ・タイプのドキュメント
enum QKeySequence::SequenceFormat
定数 | 値 | 説明 |
---|---|---|
QKeySequence::NativeText | 0 | プラットフォーム固有の文字列としてのキーシーケンス。これは、翻訳されて表示されることを意味し、Appleプラットフォームでは、メニューバーのキーシーケンスに似ています。この列挙型は、ユーザに文字列を表示したい場合に最適です。 |
QKeySequence::PortableText | 1 | キー配列は、ファイルへの読み書きに適した "ポータブル "な形式で与えられます。多くの場合、WindowsやX11のネイティブテキストに似ています。 |
enum QKeySequence::SequenceMatch
定数 | 値 | 説明 |
---|---|---|
QKeySequence::NoMatch | 0 | キー配列が異なっており、部分的にさえ一致していない。 |
QKeySequence::PartialMatch | 1 | キー配列は部分的に一致するが、同じではない。 |
QKeySequence::ExactMatch | 2 | キー配列が同じ。 |
enum QKeySequence::StandardKey
この列挙型は標準的なキーバインディングを表す。プラットフォーム依存のキーボードショートカットをQAction に割り当てるために使用できます。
キーバインディングはプラットフォーム依存であることに注意してください。現在バインドされているショートカットは、keyBindings() を使って問い合わせることができます。
定数 | 値 | 説明 |
---|---|---|
QKeySequence::AddTab | 19 | 新しいタブを追加する。 |
QKeySequence::Back | 13 | 戻る |
QKeySequence::Backspace | 69 | 前の文字を削除 |
QKeySequence::Bold | 27 | テキストを太字にする |
QKeySequence::Close | 4 | ドキュメント/タブを閉じる |
QKeySequence::Copy | 9 | コピー |
QKeySequence::Cut | 8 | カット |
QKeySequence::Delete | 7 | 削除 |
QKeySequence::DeleteEndOfLine | 60 | 行末を削除 |
QKeySequence::DeleteEndOfWord | 59 | カーソル位置から単語を削除 |
QKeySequence::DeleteStartOfWord | 58 | カーソル位置までの単語の先頭を削除する。 |
QKeySequence::DeleteCompleteLine | 68 | 行全体を削除 |
QKeySequence::Find | 22 | 文書内検索 |
QKeySequence::FindNext | 23 | 次の結果を検索 |
QKeySequence::FindPrevious | 24 | 前の結果を検索 |
QKeySequence::Forward | 14 | 前方に移動 |
QKeySequence::HelpContents | 1 | ヘルプを開く |
QKeySequence::InsertLineSeparator | 62 | 改行を挿入する |
QKeySequence::InsertParagraphSeparator | 61 | 段落を挿入する |
QKeySequence::Italic | 28 | テキストを斜体にする |
QKeySequence::MoveToEndOfBlock | 41 | カーソルをブロックの最後に移動する。このショートカットはAppleプラットフォームでのみ使用されます。 |
QKeySequence::MoveToEndOfDocument | 43 | カーソルを文書の末尾に移動する。 |
QKeySequence::MoveToEndOfLine | 39 | カーソルを行末に移動する。 |
QKeySequence::MoveToNextChar | 30 | カーソルを次の文字に移動する。 |
QKeySequence::MoveToNextLine | 34 | カーソルを次の行に移動する。 |
QKeySequence::MoveToNextPage | 36 | カーソルを次のページに移動する。 |
QKeySequence::MoveToNextWord | 32 | カーソルを次の単語に移動 |
QKeySequence::MoveToPreviousChar | 31 | カーソルを前の文字に移動する。 |
QKeySequence::MoveToPreviousLine | 35 | カーソルを前の行に移動 |
QKeySequence::MoveToPreviousPage | 37 | カーソルを前のページに移動 |
QKeySequence::MoveToPreviousWord | 33 | カーソルを前の単語に移動 |
QKeySequence::MoveToStartOfBlock | 40 | カーソルをブロックの先頭に移動する。このショートカットはAppleプラットフォームでのみ使用される。 |
QKeySequence::MoveToStartOfDocument | 42 | カーソルを文書の先頭に移動する。 |
QKeySequence::MoveToStartOfLine | 38 | カーソルを行頭に移動 |
QKeySequence::New | 6 | 新規文書を作成する。 |
QKeySequence::NextChild | 20 | 次のタブまたは子ウィンドウに移動する。 |
QKeySequence::Open | 3 | 文書を開く |
QKeySequence::Paste | 10 | ペーストする |
QKeySequence::Preferences | 64 | 環境設定ダイアログを開く |
QKeySequence::PreviousChild | 21 | 前のタブまたは子ウィンドウに移動する。 |
QKeySequence::Print | 18 | 文書を印刷します。 |
QKeySequence::Quit | 65 | アプリケーションを終了します。 |
QKeySequence::Redo | 12 | やり直し |
QKeySequence::Refresh | 15 | 現在の文書を更新または再読み込みします。 |
QKeySequence::Replace | 25 | 検索と置換 |
QKeySequence::SaveAs | 63 | ファイル名の入力を促した後に文書を保存 |
QKeySequence::Save | 5 | 文書の保存 |
QKeySequence::SelectAll | 26 | すべてのテキストを選択 |
QKeySequence::Deselect | 67 | テキストの選択解除5.1以降 |
QKeySequence::SelectEndOfBlock | 55 | 選択範囲をテキストブロックの最後まで拡張します。このショートカットはAppleプラットフォームでのみ使用されます。 |
QKeySequence::SelectEndOfDocument | 57 | 選択範囲をドキュメントの最後まで拡張します。 |
QKeySequence::SelectEndOfLine | 53 | 選択範囲を行末まで拡張します。 |
QKeySequence::SelectNextChar | 44 | 選択範囲を次の文字まで拡張します。 |
QKeySequence::SelectNextLine | 48 | 選択範囲を次の行まで拡張します。 |
QKeySequence::SelectNextPage | 50 | 選択範囲を次のページまで拡張 |
QKeySequence::SelectNextWord | 46 | 選択範囲を次の単語に拡張 |
QKeySequence::SelectPreviousChar | 45 | 選択範囲を前の文字に拡張 |
QKeySequence::SelectPreviousLine | 49 | 選択範囲を前の行に拡張 |
QKeySequence::SelectPreviousPage | 51 | 選択範囲を前のページに拡張 |
QKeySequence::SelectPreviousWord | 47 | 選択範囲を前の単語に拡張 |
QKeySequence::SelectStartOfBlock | 54 | 選択範囲をテキストブロックの先頭まで拡張する。このショートカットはAppleプラットフォームでのみ使用されます。 |
QKeySequence::SelectStartOfDocument | 56 | 選択範囲を文書の先頭まで拡張 |
QKeySequence::SelectStartOfLine | 52 | 選択範囲を行頭まで拡張します。 |
QKeySequence::Underline | 29 | テキストに下線を引く。 |
QKeySequence::Undo | 11 | 元に戻す。 |
QKeySequence::UnknownKey | 0 | 解除キー |
QKeySequence::WhatsThis | 2 | これは何ですか? |
QKeySequence::ZoomIn | 16 | ズームイン |
QKeySequence::ZoomOut | 17 | ズームアウト |
QKeySequence::FullScreen | 66 | ウィンドウの状態をフルスクリーンに切り替える。 |
QKeySequence::Cancel | 70 | 現在の操作をキャンセルする。 |
メンバー関数ドキュメント
QKeySequence::QKeySequence()
空のキーシーケンスを構築します。
QKeySequence::QKeySequence(QKeySequence::StandardKey key)
与えられたkey の QKeySequence オブジェクトを構築します。結果は、現在実行中のプラットフォームに依存します。
結果のオブジェクトは、key のキーバインディングリストの最初の要素に基づきます。
QKeySequence::QKeySequence(const QString &key, QKeySequence::SequenceFormat format = NativeText)
format に基づいて、key 文字列からキーシーケンスを作成します。
例えば「Ctrl+O」はCTRL+'O'を与える。文字列 "Ctrl"、"Shift"、"Alt"、"Meta "は、"QShortcut" コンテキスト(QObject::tr()を使用)で翻訳された同等物と同様に認識される。
例えば、"Alt+X,Ctrl+S,Q "のように、カンマで区切って最大4つのキーコードを入力することができます。
このコンストラクタは通常、tr() と共に使用され、ショートカットキーを翻訳で置き換えることができる:
QMenu *file = new QMenu(this); file->addAction(tr("&Open..."), QKeySequence(tr("Ctrl+O", "File|Open")), this, &MainWindow::open);
File|Open "トランスレータのコメントに注意してください。これは決して必要なものではありませんが、人間の翻訳者に何らかのコンテキストを提供するものです。
QKeySequence::QKeySequence(QKeyCombination k1, QKeyCombination k2 = QKeyCombination::fromCombined(0), QKeyCombination k3 = QKeyCombination::fromCombined(0), QKeyCombination k4 = QKeyCombination::fromCombined(0))
k1 、k2 、k3 、k4 の最大4つのキーでキーシーケンスを構築する。
QKeyCombinationも参照のこと 。
QKeySequence::QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0)
最大4つのキーでキーシーケンスを構築するk1 、k2 、k3 、k4 。
キーコードはQt::Key に列挙されており、Qt::ShiftModifier,Qt::ControlModifier,Qt::AltModifier,Qt::MetaModifier のような修飾子(Qt::KeyboardModifier を参照)と組み合わせることができます。
QKeySequence::QKeySequence(const QKeySequence &keysequence)
コピーコンストラクタ。keysequence のコピーを作成する。
[noexcept]
QKeySequence::~QKeySequence()
キーシーケンスを破棄する。
int QKeySequence::count() const
キー配列のキーの数を返す。最大値は4である。
[static]
QKeySequence QKeySequence::fromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
format に基づく文字列str からQKeySequence を返す。
toString()も参照のこと 。
bool QKeySequence::isEmpty() const
キーシーケンスが空の場合はtrue
を返し、それ以外の場合は false を返します。
[static]
QList<QKeySequence> QKeySequence::keyBindings(QKeySequence::StandardKey key)
与えられたkey に対するキーバインディングのリストを返す。こ の関数を呼び出 し た結果は、 タ ーゲ ッ ト プ ラ ッ ト フ ォーム に よ っ て異な り ます。リ ス ト の最初の要素は、 指定 さ れたプ ラ ッ ト フ ォームの主要なシ ョ ー ト カ ッ ト を示 し ます。結果に複数の結果が含まれる場合、これらは、指定されたkey の同じプラットフォーム上の代替ショートカットとみなすことができる。
[static]
QList<QKeySequence> QKeySequence::listFromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
format をもとに、文字列str からQKeySequence のリストを返す。
fromString() およびlistToString()も参照のこと 。
[static]
QString QKeySequence::listToString(const QList<QKeySequence> &list, QKeySequence::SequenceFormat format = PortableText)
format をもとに、list の文字列表現を返す。
toString() およびlistFromString()も参照 。
QKeySequence::SequenceMatch QKeySequence::matches(const QKeySequence &seq) const
配列をseq にマッチさせる。成功した場合はExactMatch を返し、seq が不完全にマッチした場合はPartialMatch を返し、配列に共通点がない場合はNoMatch を返す。seq の方が短い場合はNoMatch を返す。
[static]
QKeySequence QKeySequence::mnemonic(const QString &text)
text のニーモニックに対応するショートカット・キー配列、またはニーモニックが見つからない場合は空のキー配列を返します。
例えば、 mnemonic("E&xit") はQt::ALT+Qt::Key_X
を返し、 mnemonic("&Quit") はALT+Key_Q
を返し、 mnemonic("Quit") は空のQKeySequence を返す。
[noexcept]
void QKeySequence::swap(QKeySequence &other)
キー配列other をこのキー配列と入れ替える。この操作は非常に高速で、失敗することはない。
QString QKeySequence::toString(QKeySequence::SequenceFormat format = PortableText) const
format に基づいて、キー配列の文字列表現を返す。
例えば、Qt::CTRL+Qt::Key_O の値は、"Ctrl+O" となる。キーシーケンスに複数のキーコードがある場合、返される文字列では、「Alt+X, Ctrl+Y, Z」のように、それぞれがカンマで区切られる。Ctrl"、"Shift "などの文字列は、"QShortcut" コンテキストでQObject::tr() を使って変換される。
キーシーケンスにキーがない場合は、空の文字列が返される。
Appleプラットフォームでは、format がQKeySequence::NativeText である場合、返される文字列はメニューバーに表示されるシーケンスに似ている。
fromString()も参照のこと 。
QVariant QKeySequence::operator QVariant() const
キーシーケンスをQVariant
bool QKeySequence::operator!=(const QKeySequence &other) const
このキー配列がother のキー配列と等しくない場合はtrue
を返し、そうでない場合はfalse
を返す。
bool QKeySequence::operator<(const QKeySequence &other) const
このキー配列とother キー配列の任意の比較を提供する。保証されるのは、両方のキー配列が等しい場合は演算子がfalse
を返し、等しくない場合は (ks1 < ks2) == !( ks2 < ks1) を返すことだけである。
この関数は、QKeySequence オブジェクトをQMap のキーとして使いたい場合などに便利です。
operator==()、operator!=()、operator>()、operator<=()、operator>=()も参照のこと 。
bool QKeySequence::operator<=(const QKeySequence &other) const
このキー配列がother のキー配列より小さいか等しい場合はtrue
を返し、そうでない場合はfalse
を返します。
operator==()、operator!=()、operator<()、operator>()、operator>=()も参照のこと 。
[noexcept]
QKeySequence &QKeySequence::operator=(QKeySequence &&other)
Move-other をこのQKeySequence インスタンスに代入する。
QKeySequence &QKeySequence::operator=(const QKeySequence &other)
代入演算子。other キーシーケンスをこのオブジェクトに割り当てます。
bool QKeySequence::operator==(const QKeySequence &other) const
このキー配列がother キー配列と等しい場合はtrue
を返し、そうでない場合はfalse
を返す。
bool QKeySequence::operator>(const QKeySequence &other) const
このキー配列がother のキー配列より大きい場合はtrue
を返し、そうでない場合はfalse
を返します。
operator==()、operator!=()、operator<()、operator<=()、operator>=()も参照のこと 。
bool QKeySequence::operator>=(const QKeySequence &other) const
このキー配列がother のキー配列より大きいか等しい場合はtrue
を返し、そうでない場合はfalse
を返す。
operator==()、operator!=()、operator<()、operator>()、operator<=()も参照のこと 。
QKeyCombination QKeySequence::operator[](uint index) const
キー配列の位置index にある要素への参照を返します。これは、要素の読み込みにのみ使用できます。
関連する非メンバー
[noexcept]
size_t qHash(const QKeySequence &key, size_t seed = 0)
seed をシードとして、key のハッシュ値を計算します。
void qt_set_sequence_auto_mnemonic(bool b)
メニュー項目やラベルなどのニーモニックを尊重するかどうかを指定します。WindowsとX11では、この機能はデフォルトでオンになっている。この機能がオフの場合(つまりb が false の場合)、QKeySequence::mnemonic() は常に空の文字列を返す。
注意: この関数はQtのヘッダーファイルでは宣言されていません。アプリケーションで使用するには、関数のプロトタイプを宣言してから呼び出してください。
QShortcutも参照してください 。
QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)
キーsequence をstream に書き込みます。
QDataStream 演算子のフォーマットも参照して ください。
QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)
キーシーケンスをstream からキーsequence に読み込みます。
QDataStream 演算子の書式も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。