2010-10-12 38 views
2

我在嵌入式系統上的Qt應用程序工作,我只有一個遙控器上的所述主密鑰是Key_space。QComboBox:選擇上Key_space

所以,我想有一個QComboBox上推Key_space按鈕時,你可以選擇一個項目。

怎麼辦?也許我應該從QComboBox繼承並重新定義keyPressEvent?

回答

2

如果Qt不已經處理這個問題(我想應該沒有,但可能是錯誤的),那麼你就需要做一點不僅僅是在處理組合框的按鍵事件。當您爲組合框選擇一個項目時,將顯示另一個窗口以及其中的項目列表。不知何故,您需要處理該窗口的按鍵事件。

爲了做到這一點,我建議從QComboBox繼承,並在彈出時顯示安裝event filter(看showPopup()hidePopup()view()功能)。做一個連接到highlighted信號插槽,並跟蹤這些指數被突出顯示。然後,當彈出窗口獲得空間鍵事件時,隱藏彈出窗口並將當前索引設置爲最後一個突出顯示的索引。

+0

Qt不與德的Qt :: Key_Space處理這個問題,但由於你的答案現在對我的作品。 – Tangui 2010-10-13 07:49:26