QCompleter不支持上下键
QCompleter not support up and down key
我使用 setEditable(true)
使 QComboBox
可编辑,当我输入 cy
时,完成者的弹出视图将可见并列出所有可能的结果,例如:cyan
, cyana
, liecyan
... 但是当我在键盘上按下 (Qt::Key_Down
) 时,第一个 cyan
将被选中并且 QComboBox 的 lineedit 的文本将被设置 cyan
,同时,完成者的弹出视图更新,仅显示 cyan
。我如何自定义它以使其表现得像 Web 的 select
组件。
我已经解决了这个问题。
1.class MyListView : public QListView
2.MyListView's bool event(...)
需要实现关注的类型是QEvent::ShortcutOverride
3.based on QEvent::ShortcutOverride
,当用户按下Qt:Key_Up
或Qt::Key_Down
,设置falg
false,当用户释放按键时,设置flag
真
3.QCompleter
使用setPopup(MyListView
的实例)覆盖默认的listview
4. 设置 QCompleter 的正则表达式在 falg
为真时工作
5.I得到我想要的
我使用 setEditable(true)
使 QComboBox
可编辑,当我输入 cy
时,完成者的弹出视图将可见并列出所有可能的结果,例如:cyan
, cyana
, liecyan
... 但是当我在键盘上按下 (Qt::Key_Down
) 时,第一个 cyan
将被选中并且 QComboBox 的 lineedit 的文本将被设置 cyan
,同时,完成者的弹出视图更新,仅显示 cyan
。我如何自定义它以使其表现得像 Web 的 select
组件。
我已经解决了这个问题。
1.class MyListView : public QListView
2.MyListView's bool event(...)
需要实现关注的类型是QEvent::ShortcutOverride
3.based on QEvent::ShortcutOverride
,当用户按下Qt:Key_Up
或Qt::Key_Down
,设置falg
false,当用户释放按键时,设置flag
真
3.QCompleter
使用setPopup(MyListView
的实例)覆盖默认的listview
4. 设置 QCompleter 的正则表达式在 falg
为真时工作
5.I得到我想要的