【发布时间】:2011-10-26 02:07:21
【问题描述】:
我在 Qt/Embedded 设备上有一个数据输入屏幕,它只有上/下/左/右/选择按钮。屏幕看起来像一个计算器,顶部有一个 QLineEdit 和一组用于数字的 QPushButton。 UDLR 按钮将焦点移动到 QPushButtons 周围,并选择将按钮的编号附加到 QLineEdit。这很好用。但是,由于 QLineEdit 没有焦点,文本输入光标不会闪烁。 QLineEdit 看起来不像是虚拟键盘按钮按下的接收者,这并不好。
我见过的其他 Qt 虚拟键盘实现不需要它们的键盘按钮来获得焦点,因为它们是触摸或鼠标操作的。因此,QLineEdit 可以始终保持焦点。这不是一个选择。到目前为止,我见过的最好的方法是手动生成焦点事件,以诱使 QLineEdit 在用户真正在虚拟键盘周围导航时认为它具有焦点。我希望有一个更优雅的解决方案,或者可能是一种不同的方式来构建屏幕的实现以避免这个问题。有什么想法吗?
【问题讨论】: