qMLを使用した複雑なGUIを使用していますが、状況によってはfocusを失い、どのオブジェクトにアクティブフォーカスがあるのかわかりません。
QMLファイルを検索してフォーカスされたオブジェクトを見つけるためのツールや方法はありますか?
この行を使用して、アクティブフォーカスがあるアイテムを確認します。
Window {
onActiveFocusItemChanged: print("activeFocusItem", activeFocusItem)
}
このコードは、アクティブフォーカスでアイテムを出力することにより、activeFocusItem
の- Window
プロパティの変更に応答します。 QtクイックコントロールのApplicationWindow
1 と 2 は、Window
から派生しているため、同じプロパティを持ちます。
howアイテムがフォーカスされたことを確認するには、QT_LOGGING_RULES
環境変数をqt.quick.focus = true
に設定します。これにより、Qtの内部フォーカス処理のロギングが可能になります。ただし、出力を追跡するのは少し難しい場合があります。
Qt Quick Controls 2を使用しているので、各コントロールには、コントロールがフォーカスを取得する方法を決定する focusPolicy
プロパティがあることに注意してください。 Button
のようなコントロールのデフォルトはQt.StrongFocus
です。これは、ボタンがクリックまたはタブで移動された後にフォーカスを取得することを意味します。コントロールにフォーカスがあることがわかり、フォーカスを望まない場合は、そのfocusPolicy
をQt.NoFocus
に設定するだけです。
focusPolicy: Qt.NoFocus