我使用setEditable(true)
使QComboBox
可编辑,当我输入cy
时,将会显示完成者的弹出视图,并列出所有可能的结果,如:{{1 }},cyan
,cyana
...但是当我在键盘(liecyan
)中按向下键时,将选择第一个Qt::Key_Down
并选择QComboBox&#39} s lineedit& #39;文本将设置为cyan
,同时,完成弹出式视图更新,仅显示cyan
。如何对其进行自定义以使其行为类似于网络cyan
组件。
答案 0 :(得分:0)
我已经解决了这个问题。
1。class MyListView : public QListView
2. MyListView's bool event(...)
需要实施以关注类型为QEvent::ShortcutOverride
3.基于QEvent::ShortcutOverride
,当用户按Qt:Key_Up
或Qt::Key_Down
时,设置falg
false,当用户释放密钥时,设置flag
为真
3. QCompleter
使用setPopup(MyListView
的实例)来覆盖默认列表视图
4.当falg
为真时,设置QCompleter的正则表达式
我得到了我想要的东西