私は、私のビューの一つで選択されたアイテムを削除するメニュー項目にQactionを持っています。QActionのショートカットはいつも動作しません
deleteAct = new QAction(tr("Delete Selected"), this);
deleteAct->setShortcut(QKeySequence::Delete);
connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSelected()));
IセットアップdelectActアクションをトリガーするキーボードショートカット(キーの削除):ここでは私がアクションを作成する方法です。それはほとんどの時間で動作しますが、いくつかの点では動作を停止します...誰でもショートカットが動作を停止する理由を知っていますか?
注:メニュー項目からトリガーすると、アクションは引き続き機能します。それがされるウィジェットなので
deleteAct->setShortcutContext(Qt::ApplicationShortcut);
+1メインウィンドウのアクションにも追加するまで、自分のコンテキストメニューのショートカットが機能しませんでした。 – rendon
さらに、action-> setShortcutContext(...);設定する必要があります、user362638答えを参照してください。 – Tob
必ずしもそうではありません。デフォルトのショートカット・コンテキストはQt :: WindowShortcutです。これは元のポスターの例で必要なものです。ウィンドウBで削除を押すと、削除キーでウィンドウAの選択したアイテムを削除しないようにします。 Qt :: ApplicationShortcutは、アプリケーション全体のショートカット(つまり、アプリケーションの任意のウィンドウで動作するショートカット)に適しています。 –