QComboBox:在Key_space上选择

时间:2010-10-12 04:40:40

标签: qt qcombobox

我在嵌入式系统中使用Qt应用程序而且我只有一个主键是Key_space的遥控器。

所以,我希望有一个QComboBox,你可以在按下Key_space按钮时选择一个项目。

怎么做?也许我应该继承QComboBox并重新定义keyPressEvent?

1 个答案:

答案 0 :(得分:2)

如果Qt还没有处理这个问题(我认为它确实存在,但可能会出错),那么你需要做的不仅仅是处理组合框中的按键事件。当您为组合框选择项目时,会显示另一个窗口,其中包含项目列表。您需要以某种方式处理该窗口的按键事件。

为此,我建议继承QComboBox,并在显示的弹出窗口上安装event filter(查看showPopup()hidePopup()view()功能)。创建一个连接到highlighted信号的插槽,并跟踪突出显示的索引。然后,当弹出窗口获取空格键事件时,隐藏弹出窗口并将当前索引设置为最后突出显示的索引。