2010-10-12 28 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