ハンドル)。しかし、これは期待どおりに動作していないようです。私は、それぞれ自分のアプリケーションでタブを切り替えるためには二つの重要なイベント<code>Ctrl</code> + <code>Tab</code>と<code>Ctrl</code> + <code>Shift</code> + <code>Tab</code>(「前方」と「後方」を扱いたいキーイベントは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つのエラーを参照してください。他の一つではない全く前者のキーシーケンスが二回処理されます。
- EDIT:他方がまったく処理されないことを理由が解消され、コメントを参照してください。
なぜこれが起こり、どうすれば解決できますか?
注:私はすでにQtコンポーネントを自分のアプリケーションで使用していますので、このモジュールが必要なソリューションが分かっていれば問題ありません。
私は、Qtが 'Qt :: Key_Tab'の代わりに' Shift' + 'Tab'を' Qt :: Key_Backtab'にマップしていると思います。これは2番目の問題を解決しますが、キーイベントが2回*受信されるという問題は解決しません。 – leemes