2017-10-23 5 views
0

QtQuick.Controls 2のコントロールには、デフォルトでキーボードレスポンスがいくつかあります。QtQuickコントロール2のデフォルトのキーボード操作はどのように指定されていますか?

例えば、ComboBoxは、アップキー&に対応して選択を変更し、ユーザーがスペースバーを押した場合はボックスPopupが開きます。私はこの動作が指定された場所を見つけることができず、私はそれを変更する必要があります。

現時点では、スペースキーが何をしているのかを確認するためにリターンキーが必要です。しかし、もちろん、これらの主要な相互作用をカスタマイズすることが可能であることは一般に有用です。

答えて

1

Qtクイックコントロール2を設定する一般的な方法は、スペースキーの操作と同じようにリターンキーを使用してすべてのアクションを行うことです。ただし、Keysハンドラをアタッチし、必要なアクションを自分で適用することができます。

ComboBox { 
    id: comboBox 
    Keys.onReturnPressed: comboBox.popup.open() 
} 
+0

私は、これはまた、問題の一部であったかどうかを確認していない:*あなたは、デフォルトの動作を無効にすることができ*だから、何が起こります、か? 「スペースバー」は何かをしているが、何か他のことをしたい? – derM

+2

はい、 'Keys'添付プロパティは、それが接続されている項目の前または後にキーイベントを処理するように設定できます。これにより、アイテムのデフォルトの動作を上書きするためにイベントをインターセプトすることが可能になり、アイテムによって処理されないキーのフォールバックとして機能することが可能になります。詳細については、[キー処理の優先順位](http://doc.qt.io/qt-5/qml-qtquick-keys.html#key-handling-priorities)を参照してください。 – jpnurmi

+0

私はQtソースを掘り起こしてパッチを当てました(私は埋め込まれたターゲットのパッチソースからQtをビルドしていました)。これはもっと一般的に適用可能な答えです。質問に対する答えが足りない "どのようにデフォルト主要な行動は? (ソースからは、デフォルトではリターンは終了しますが、私は実験では発見できなかったポップアップを開きません) – 01d55

関連する問題