QKeySequence Class
QKeySequence クラスは、ショートカットで使用されるキーシーケンスをカプセル化します。詳細...
ヘッダー | #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+Backspace | 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))
最大4つのキーk1,k2,k3 およびk4 でキーシーケンスを構築する。
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)
key のハッシュ値を返す。計算のシードにはseed を使用する。
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演算子のフォーマットも参照してください 。
© 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.