アプリケーションのタブを切り替えるために、2つの主要なイベント+と++を処理したいと思います(それぞれ「順方向」と「逆Ctrl
方向Tab
」Ctrl
)。ただし、これは期待どおりに機能していないようです。Shift
Tab
これは私の現在のコードです(最小限の例):
import QtQuick 1.1
Item {
width: 100
height: 100
focus: true
Keys.onPressed: {
if(event.modifiers & Qt.ControlModifier) {
if(event.key === Qt.Key_Tab) {
if(event.modifiers & Qt.ShiftModifier)
console.log('backward')
else
console.log('forward')
}
}
}
}
このコードをqmlviewer
(Qtバージョン4.8.2)で実行しました
Ctrl
+を押したときの出力Tab
:
forward
forward
Ctrl
+ Shift
+を押したときの出力Tab
:
無し
したがって、2つのエラーが表示されます。前者のキーシーケンスは2回処理されますが、もう1つはまったく処理されません。
- 編集:もう一方がまったく処理されない理由は解決されました。コメントを参照してください。
なぜこれが発生し、どうすればこれを解決できますか?
注:私はすでにアプリケーションでデスクトップ用のQtコンポーネントを使用しているので、このモジュールを必要とするソリューションを知っていれば問題ありません。