我在嵌入式系统中的QT应用程序上工作,并且只有一个遥控器,主要密钥是key_space。

因此,我想拥有一个Qcombobox,在按下键_ -Space按钮时,您可以在上面选择一个项目。

怎么做 ?也许我应该从Qcombobox继承并重新定义KeyPressevent?

有帮助吗?

解决方案

如果QT尚未处理此操作(我认为确实如此,但可能会误会),那么您需要做的不仅仅是处理组合框中的密钥新闻事件。当您选择组合框的项目时,已经显示了另一个窗口,其中包含其中的项目列表。您需要以某种方式处理该窗口的关键按事件。

为此,我建议从 QComboBox, ,并安装 事件过滤器 在显示的弹出窗口上(看看 showPopup(), hidePopup(), , 和 view() 职能)。制作一个连接到 highlighted 信号,并跟踪突出显示哪些索引。然后,当弹出窗口获取空格密钥事件时,隐藏弹出窗口并将当前索引设置为最后突出显示的索引。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top