QShortcut Class
QShortcutクラスは、キーボードショートカットを作成するために使用されます。詳細...
ヘッダ | #include <QShortcut> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
継承: | QObject |
- 継承されたメンバを含むすべてのメンバのリスト
- 非推奨メンバー
- QShortcut はEvent Classes に含まれます。
プロパティ
- autoRepeat : bool
- context : Qt::ShortcutContext
- enabled : bool
- key : QKeySequence
パブリック機能
QShortcut(QObject *parent) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
virtual | ~QShortcut() |
bool | autoRepeat() const |
Qt::ShortcutContext | context() const |
bool | isEnabled() const |
QKeySequence | key() const |
(since 6.0) QList<QKeySequence> | keys() const |
QWidget * | parentWidget() const |
void | setAutoRepeat(bool on) |
void | setContext(Qt::ShortcutContext context) |
void | setEnabled(bool enable) |
void | setKey(const QKeySequence &key) |
(since 6.0) void | setKeys(QKeySequence::StandardKey key) |
(since 6.0) void | setKeys(const QList<QKeySequence> &keys) |
void | setWhatsThis(const QString &text) |
QString | whatsThis() const |
シグナル
void | activated() |
void | activatedAmbiguously() |
詳細説明
QShortcut クラスは、キーボードショートカットを Qt のシグナルとスロットのメカニズムに接続する方法を提供します。ショートカットは、Shift 、Ctrl 、Alt のような修飾キーの状態を含む、キーボードショートカットを記述するために必要なすべてのキー押下を含むように設定することができます。
ウィジェット・アプリケーションでは、特定のウィジェットで文字の前に「&」を使用できます。これは、その文字のニーモニック(ショートカット)を自動的に作成します。例えば、"E&exit "は、Alt+X のショートカットを作成します(実際のアンパサンドを表示するには、'&&'を使用します)。ウィジェットは、指定されたショートカットを消費してアクションを実行するかもしれません。X11では、アンパサンドは表示されず、文字に下線が引かれます。Windowsでは通常、ユーザーがAlt キーを押すまでショートカットは表示されませんが、これはユーザーが変更できる設定です。Macでは、ショートカットはデフォルトで無効になっています。有効にするには、qt_set_sequence_auto_mnemonic ()を呼び出します。しかし、ニーモニック・ショートカットはAquaのガイドラインに適合しないため、Qtはショートカット文字を下線で表示しません。
メニューを使用するアプリケーションでは、QMenu クラスで提供されている便利な関数を使用して、メニュー項目を作成する際にキーボードショートカットを割り当てる方が便利な場合があります。あるいは、QAction クラスの他のアクションにショートカットを関連付けることもできます。
特定のウィジェットのショートカットを作成する最も簡単な方法は、キー・シーケンスでショートカットを作成することです。例えば
shortcut = new QShortcut(QKeySequence(tr("Ctrl+O", "File|Open")), parent);
ユーザーが指定されたショートカットのkey sequence をタイプすると、そのショートカットのactivated() シグナルが発せられます(曖昧な場合は、 () シグナルが発せられます)。(あいまいな場合は、activatedAmbiguously()シグナルが発信される)。ショートカットの親ウィジェットがイベントを受信しているとき、Qtのイベントループはショートカットを "リッスン "します。
ショートカットのキー・シーケンスは、setKey() で設定でき、key() で取得できます。ショートカットはsetEnabled() で有効/無効にでき、setWhatsThis() で "What's This?" ヘルプテキストを設定できます。
QShortcutEvent 、QKeySequence 、QActionも参照して ください。
プロパティ・ドキュメンテーション
autoRepeat : bool
このプロパティは、ショートカットが自動的に繰り返されるかどうかを保持します。
trueの場合、キーボードのオートリピートがシステムで有効になっていれば、ショートカットはキーボード・ショートカットの組み合わせが押されたまま自動リピートされます。デフォルト値はtrueです。
アクセス関数:
bool | autoRepeat() const |
void | setAutoRepeat(bool on) |
context : Qt::ShortcutContext
このプロパティは、ショートカットが有効なコンテキストを保持します。
ショートカットのコンテキストは、どのような状況でショートカットのトリガが許可されるかを決定します。通常のコンテキストはQt::WindowShortcut で、親(ショートカットを含むウィジェット)がアクティブなトップレベル・ウィンドウのサブウィジェットである場合にショートカットがトリガされることを許可します。
デフォルトでは、このプロパティはQt::WindowShortcut に設定されています。
アクセス関数:
Qt::ShortcutContext | context() const |
void | setContext(Qt::ShortcutContext context) |
enabled : bool
このプロパティは、ショートカットが有効かどうかを保持する。
有効なショートカットは、ショートカットのkey() シーケンスに一致するQShortcutEvent が発生すると、activated() またはactivatedAmbiguously() シグナルを出力します。
アプリケーションがWhatsThis
モードの場合、ショートカットはシグナルを発せず、代わりに "What's This?" テキストを表示します。
デフォルトでは、このプロパティはtrue
です。
関数にアクセスします:
bool | isEnabled() const |
void | setEnabled(bool enable) |
whatsThisも参照してください 。
key : QKeySequence
このプロパティは、ショートカットの主キーシーケンスを保持します。
これは、Shift、Ctrl、Alt を任意に組み合わせたキー配列です。キー配列はいくつかの方法で指定できます:
setKey(0); // no signal emitted setKey(QKeySequence()); // no signal emitted setKey(0x3b1); // Greek letter alpha setKey(Qt::Key_D); // 'd', e.g. to delete setKey('q'); // 'q', e.g. to quit setKey(Qt::CTRL | Qt::Key_P); // Ctrl+P, e.g. to print document setKey("Ctrl+P"); // Ctrl+P, e.g. to print document
デフォルトでは、このプロパティには空のキー配列が含まれます。
アクセス関数:
QKeySequence | key() const |
void | setKey(const QKeySequence &key) |
メンバ関数ドキュメント
[explicit]
QShortcut::QShortcut(QObject *parent)
QWindow またはQWidget であるべきparent の QShortcut オブジェクトを構築します。
ショートカットのキー配列が指定されていないので、ショートカットはシグナルを発しません。
setKey()も参照してください 。
[explicit, since 6.0]
QShortcut::QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
QWindow またはQWidget であるべきparent の QShortcut オブジェクトを構築する。
ショートカットはその親を操作し、standardKey にマッチするQShortcutEventをリッスンします。イベントの曖昧さに応じて、ショートカットはmember 関数を呼び出します。また、キーがショートカットのcontext にあった場合はambiguousMember 関数を呼び出します。
この関数は Qt 6.0 で導入されました。
[explicit]
QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
QWindow またはQWidget であるべきparent の QShortcut オブジェクトを構築します。
ショートカットはその親を操作し、key のシーケンスにマッチするQShortcutEventを探します。イベントの曖昧さに応じて、ショートカットはmember 関数を呼び出します。また、キーがショートカットのcontext で押された場合はambiguousMember 関数を呼び出します。
[since 6.0]
template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは QShortcut の便利なコンストラクタで、ショートカットのactivated() シグナルをfunctor に接続します。
この関数は Qt 6.0 で導入されました。
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは QShortcut の便利なコンストラクタで、ショートカットのactivated() シグナルをfunctor に接続します。
[since 6.0]
template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これはQShortcutの便利なコンストラクタで、ショートカットのactivated() シグナルをfunctor に接続します。
functor には、context オブジェクトのメンバ関数へのポインタを指定できます。
context オブジェクトが破壊された場合、functor は呼び出されません。
この関数は Qt 6.0 で導入されました。
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これはQShortcutの便利なコンストラクタで、ショートカットのactivated() シグナルをfunctor に接続します。
functor には、context オブジェクトのメンバ関数へのポインタを指定できます。
context オブジェクトが破壊された場合、functor は呼び出されません。
[since 6.0]
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に、activatedAmbiguously() シグナルをfunctorAmbiguous に接続する QShortcut の便利なコンストラクタです。
functor とfunctorAmbiguous には、context オブジェクトのメンバ関数へのポインタを指定できます。
context オブジェクトが破壊された場合、functor とfunctorAmbiguous は呼び出されません。
この関数は Qt 6.0 で導入されました。
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に、activatedAmbiguously() シグナルをfunctorAmbiguous に接続する QShortcut の便利なコンストラクタです。
functor とfunctorAmbiguous には、context オブジェクトのメンバ関数へのポインタを指定できます。
context オブジェクトが破棄されると、functor とfunctorAmbiguous は呼び出されません。
[since 6.0]
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に、activatedAmbiguously() シグナルをfunctorAmbiguous に接続する QShortcut の便利なコンストラクタです。
functor には、context1 オブジェクトのメンバ関数へのポインタを指定できます。functorAmbiguous はcontext2 オブジェクトのメンバ関数へのポインタである。
context1 オブジェクトが破壊された場合、functor は呼び出されない。context2 オブジェクトが破壊された場合、functorAmbiguous は呼び出されません。
この関数はQt 6.0で導入されました。
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に、activatedAmbiguously() シグナルをfunctorAmbiguous に接続する QShortcut の便利なコンストラクタです。
functor には、context1 オブジェクトのメンバ関数へのポインタを指定できます。functorAmbiguous はcontext2 オブジェクトのメンバ関数へのポインタである。
context1 オブジェクトが破壊された場合、functor は呼び出されない。context2 オブジェクトが破壊された場合、functorAmbiguous は呼び出されない。
[virtual noexcept]
QShortcut::~QShortcut()
ショートカットを破壊する。
[signal]
void QShortcut::activated()
このシグナルは、ユーザーがショートカットのキー・シーケンスをタイプしたときに発せられる。
activatedAmbiguously()も参照してください 。
[signal]
void QShortcut::activatedAmbiguously()
キーボードでキーが入力されているとき、そのキーが複数のショートカットの始点に一致する限り、そのキーはあいまいであるという。
ショートカットのキー・シーケンスが完了したとき、そのキー・シーケンスがまだあいまいである(つまり、1つ以上の他のショートカットの開始である)場合、activatedAmbiguously()が発せられる。この場合、activated() シグナルは発せられない。
activated()も参照のこと 。
[since 6.0]
QList<QKeySequence> QShortcut::keys() const
このショートカットをトリガーするキー配列のリストを返します。
この関数は Qt 6.0 で導入されました。
QWidget *QShortcut::parentWidget() const
ショートカットの親ウィジェットを返します。
[since 6.0]
void QShortcut::setKeys(QKeySequence::StandardKey key)
トリガーを標準のキーkey にマッチするものに設定します。
この関数は Qt 6.0 で導入されました。
[since 6.0]
void QShortcut::setKeys(const QList<QKeySequence> &keys)
ショートカットをトリガーするキー配列のリストとしてkeys を設定します。
この関数は Qt 6.0 で導入されました。
void QShortcut::setWhatsThis(const QString &text)
ショートカットの "What's This? "ヘルプtext を設定する。
このテキストは、ウィジェット・アプリケーションが "What's This? "モードで、ユーザがショートカットkey() シーケンスをタイプしたときに表示されます。
メニュー・アイテム(ショートカット・キーの有無にかかわらず)に "What's This? "ヘルプを設定するには、アイテムのアクションにヘルプを設定します。
デフォルトでは、ヘルプテキストは空文字列です。
この関数は、ウィジェットを使用しないアプリケーションでは効果がありません。
whatsThis()、QWhatsThis::inWhatsThisMode()、QAction::setWhatsThis()も参照して ください。
QString QShortcut::whatsThis() const
ショートカットの "What's This?" ヘルプテキストを返します。
setWhatsThis()も参照してください 。
© 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.