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 |
| 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 オブジェクトは、toString() 関数を使用して、人間が読みやすい文字列にシリアライズできます。
ハードコードされたキーコードを指定する別の方法として、文字の 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、Shift+Ins | Ctrl+V、Meta+Y | Ctrl+V, F18, Shift+Ins | Ctrl+V、F18、Shift+Ins |
| 環境設定 | Ctrl+, | Ctrl+Shift+, | ||
| 元に戻す | Ctrl+Z、Alt+Backspace | 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+左矢印、Backspace | Ctrl+[ | Alt+左矢印 | Alt+左 |
| 次へ | Alt+右矢印、Shift+Backspace | Ctrl+] | Alt+右 | Alt+右 |
| 更新 | F5 | F5 | F5 | Ctrl+R、F5 |
| ZoomIn | Ctrl+プラス | Ctrl+プラス | Ctrl+プラス | Ctrl+プラス |
| ZoomOut | Ctrl+マイナス | Ctrl+マイナス | Ctrl+マイナス | Ctrl+マイナス |
| 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+Tab、次へ |
| 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 | 右右、Meta+F | 右右、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 | Home | Ctrl+左、Meta+左 | HomeHome | Home |
| MoveToEndOfLine | End | Ctrl+右、Meta+右 | End、Ctrl+E | End、Ctrl+E(なし) |
| MoveToStartOfBlock | (なし) | Alt+上矢印、Meta+A | (なし) | (なし) |
| MoveToEndOfBlock | (なし) | Alt+下矢印、Meta+E | (なし) | (なし) |
| MoveToStartOfDocument | Ctrl+Home | Ctrl+上矢印、Home | Ctrl+Home | Ctrl+Home |
| MoveToEndOfDocument | Ctrl+End | Ctrl+下矢印、End | Ctrl+End | Ctrl+End |
| SelectNextChar | Shift+右矢印 | Shift+右矢印 | Shift+右矢印 | Shift+右矢印 |
| SelectPreviousChar | Shift+左矢印 | Shift+左 | Shift+左 | Shift+左 |
| SelectNextWord | Ctrl+Shift+右 | Alt+Shift+右 | Ctrl+Shift+右 | Ctrl+Shift+右 |
| SelectPreviousWord | Ctrl+Shift+左 | Alt+Shift+左 | Ctrl+Shift+左 | Ctrl+Shift+左 |
| SelectNextLine | Shift+下矢印 | Shift+下矢印 | Shift + 下矢印 | Shift+下矢印 |
| SelectPreviousLine | Shift+上矢印 | Shift+上矢印 | Shift+上矢印 | Shift+上矢印 |
| SelectNextPage | Shift+PgDown | Shift+PgDown | Shift+PgDown | Shift+PgDown |
| SelectPreviousPage | Shift+PgUp | Shift+PgUp | Shift+PgUp | Shift+PgUp |
| SelectStartOfLine | Shift+Home | Ctrl+Shift+左矢印 | Shift+Home | Shift + Home |
| SelectEndOfLine | Shift+End | Ctrl+Shift+右矢印 | Shift+End | Shift+End |
| SelectStartOfBlock | (なし) | Alt+Shift+上矢印、Meta+Shift+A | (なし) | (なし) |
| SelectEndOfBlock | (なし) | Alt+Shift+下矢印、Meta+Shift+E | (なし) | (なし) |
| SelectStartOfDocument | Ctrl+Shift+Home | Ctrl+Shift+上矢印、Shift+Home | Ctrl+Shift+Home | Ctrl+Shift+Home |
| SelectEndOfDocument | Ctrl+Shift+End | Ctrl+Shift+下矢印、Shift+End | Ctrl+Shift+End | Ctrl+Shift+End |
| DeleteStartOfWord | Ctrl+Backspace | Alt+Backspace | Ctrl+Backspace | Ctrl+Backspace |
| DeleteEndOfWord | Ctrl+Del | (なし) | Ctrl+Del | Ctrl+Del |
| DeleteEndOfLine | (なし) | (なし) | Ctrl+K | Ctrl+K |
| DeleteCompleteLine | (なし) | (なし) | Ctrl+U | Ctrl+U |
| InsertParagraphSeparator | Enter | Enter | Enter | Enter |
| InsertLineSeparator | Shift+Enter | Meta+Enter、Meta+O | Shift+Enter | Shift+Enter |
| Backspace | (なし) | Delete、Meta+H | (なし) | (なし) |
| 取り消し | Esc | Esc、Ctrl+. | Esc | Escape |
なお、標準のショートカットに使用されるキーの組み合わせはプラットフォームによって異なるため、意図せずに多くのアクションに同じキーの組み合わせを割り当ててしまわないよう、各プラットフォームでショートカットをテストする必要があります。
キーボードレイアウトの問題
多くのキーシーケンスの仕様は、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() を使用)と同様に認識されます。
最大4つのキーコードをカンマで区切って指定できます。例:「Alt+X,Ctrl+S,Q」。
このコンストラクタは通常、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()も参照してください 。
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)
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 では、この機能はデフォルトで有効になっていますが、macOS では無効になっています。この機能が無効になっている場合(つまり、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 演算子の形式」も参照してください 。
© 2026 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.