Windows上で矢印キーを使用するモードと、これらの矢印キーを完全に無視するモードを持つQTアプリケーションがあります。つまり、ユーザーがボックスをチェックすると、矢印キーでイベントがトリガーされないようにします。QT:チェックボックスの選択でキーイベントを無視する
私はeventFilter()
が提案された投稿を見ましたが、私はそれをどのように使うことができませんでした。ここでは、ユーザをリッスンするチェックボックスイベントがあり、ユーザがそれをチェックするとトリガされます。他の部分では、eventFilter()
が矢印キーのために働きたいと思っていますが、これまでは実行できませんでした。
void MainWindow::on_checkBoxSmartCutMode_stateChanged(int arg1)
{
if (arg1 == 0)
{
// do as usual, arrow keys should work
}
else
{
eventFilter(); // if any arrow key is pressed, ignore the event
}
}
お勧めはありますか?
[ここ](https://stackoverflow.com/a/26976984/3484570)基本的なバージョンがあります。矢印キーを使用してチェックボックスの状態を確認するだけで変更する必要があります。矢印キーのハンドラで 'if(checkbox.isChecked())return;'を直接行うことはできますが。 – nwp