2

I work on a Qt application in an embedded system and I only have a remote on which the main key is Key_space.

So, I would like to have a QComboBox on which you can select an item when pushing the Key_space button.

How to do it ? Maybe I should inherit from QComboBox and redefine keyPressEvent ?

4

1 に答える 1

2

Qt がまだこれを処理していない場合 (そして、私はそれを処理したと思いますが、間違っている可能性があります)、コンボ ボックスでキー プレス イベントを処理する以上のことを行う必要があります。コンボ ボックスのアイテムを選択すると、別のウィンドウが表示され、その中にアイテムのリストが表示されます。どういうわけか、そのウィンドウのキー押下イベントを処理する必要があります。

そのためには、 から継承し、表示されるポップアップにイベント フィルタQComboBoxをインストールすることをお勧めします ( 、、および関数を参照)。信号に接続するスロットを作成し、どのインデックスが強調表示されているかを追跡します。次に、ポップアップ ウィンドウがスペース キー イベントを取得したら、ポップアップを非表示にして、現在のインデックスを最後に強調表示されたインデックスに設定します。showPopup()hidePopup()view()highlighted

于 2010-10-12T15:42:12.497 に答える