質問
埋め込みシステムでQTアプリケーションに取り組んでおり、メインキーがkey_spaceであるリモートのみがあります。
そのため、kemboboxを使用して、key_spaceボタンを押すときにアイテムを選択できます。
どうやってするの ?たぶん私はqcomboboxから継承し、keypresseventを再定義する必要がありますか?
解決
QTがまだこれを処理していない場合(そして、私はそれがそうだと思うが、間違っている可能性がある)、コンボボックスのキープレスイベントを処理するだけでなく、少し多くを行う必要があります。コンボボックスのアイテムを選択すると、アイテムのリストが含まれている別のウィンドウが表示されています。どういうわけか、そのウィンドウのキープレスイベントを処理する必要があります。
それを行うには、継承することをお勧めします QComboBox
, 、およびインストールします イベントフィルター 表示されているポップアップに(を見てください showPopup()
, hidePopup()
, 、 と view()
関数)。に接続するスロットを作成します highlighted
信号、およびどのインデックスが強調表示されているかを追跡します。次に、ポップアップウィンドウがスペースキーイベントを取得したら、ポップアップを非表示にし、現在のインデックスを最後に強調表示されたインデックスに設定します。
所属していません StackOverflow