QShortcut Class
QShortcutクラスは、キーボードショートカットを作成するために使用されます。詳細...
Header: | #include <QShortcut> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherits: | QObject |
- 継承メンバを含む全メンバのリスト
- 非推奨メンバー
- QShortcutはイベントクラスの一部です。
プロパティ
- 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も参照して ください。
プロパティ Documentation
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)
parent の QShortcut オブジェクトを構築します。QWindow またはQWidget である必要があります。
ショートカットはその親を操作し、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)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に接続する QShortcut 便利コンストラクタです。
[since 6.0]
template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に接続する QShortcut コンビニエンス・コンストラクタです。
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)
これはオーバーロードされた関数です。
これは、ショートカットのactivated() シグナルをfunctor に接続する QShortcut の便利なコンストラクタです。
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'sThis? "ヘルプ・テキストを返します。
setWhatsThis()も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。