チュートリアル - Qtでのアプリケーション全体の「ホットキー」への対応




qt5 tutorial (2)

私はシンプルなQtアプリを持っています。どのウィジェットにフォーカスがあるかにかかわらず、 F12キーに応答したいだけです。

いくつかの簡単な信号や私はにフックできるものはありますか?

メインウィンドウのフルスクリーンのオン/オフを切り替えるには、 F12キーを使用します。


他のすべてのウィジェットが子である「中央のウィジェット」がある場合は、単純にQShortcutのウィジェットの引数として設定することができます。

(Python、qt5)

self.centralwidget = QtWidgets.QWidget(MainWindow)

QtWidgets.QShortcut(QtGui.QKeySequence("F12"), self.centralwidget, self.goFullScreen)

ショートカットコンテキストフラグ: Qt.ApplicationShortcutが私のためにQt.ApplicationShortcutしなかったので、これを答えとして追加しました。


私は試していないが、ここで私がすることです:

QShortcutを作成し、そのcontextsetContext() )がQt::ApplicationShortcutことを確認してください。

shortcut = new QShortcut(QKeySequence(Qt::Key_F12), parent);
shortcut->setContext(Qt::ApplicationShortcut);

次に、スロットをQShortcut::activated()シグナルに接続するだけです。