1

このホットキーでいくつかの「アクション」(スロットに接続)をバインドしようとしていますが、Qt::ALT + Qt::Key_Space成功しません(((((。

他の組み合わせは、追加の作業なしで正常に機能します。たとえばQt::ALT+Qt::Key_Return

<!-- language: lang-cpp --> 
QShortcut* ptrHotKey = new QShortcut(QKeySequence(Qt::ALT + Qt::Key_Return), this);
connect(ptrHotKey, SIGNAL(activated()), this, SLOT(testSlot())); 

キャッチしようとするとkeyPressEvent失敗します。彼らはそのハンドラーを通過しません。

Windowsシステムでは、デフォルトでシステムメニューを呼び出します"Restore", "Move", "Size", "Minimize", "Maximize", "Close"

4

1 に答える 1

2

デスクトップ環境のウィンドウ マネージャーがそのショートカットを何かに使用している場合、Qt はイベントを受信しません。David Heffernan が指摘したように、DE API を介してアクセスできるはずです。

于 2012-10-04T13:46:12.677 に答える