c++ - QCompleter 不支持上下键
问题描述
我setEditable(true)
用来QComboBox
编辑,当我输入时,完成者的cy
弹出视图将可见并列出所有可能的结果,如:将设置,同时完成者的弹出视图更新,仅显示。如何自定义它以使其表现得像 web 的组件。cyan
cyana
liecyan
Qt::Key_Down
cyan
cyan
cyan
select
解决方案
我已经解决了这个问题。
1.class MyListView : public QListView
2.MyListView's bool event(...)
需要实现的关注类型是QEvent::ShortcutOverride
3.基于QEvent::ShortcutOverride
,当用户按下Qt:Key_Up
或Qt::Key_Down
,设置为falg
假,当用户释放键,设置为flag
真
3.QCompleter
使用 setPopup( MyListView
's instance) 覆盖默认列表视图 4. 设置 QCompleter 的正则表达式在falg
为真时工作 5. 我得到了我想要的
推荐阅读
- java - 将多个“随机生成”的对象添加到 ArrayList 会导致多次添加相同的对象
- regex - 正则表达式 - 带前导零的最小值和最大值
- c# - C#维护更新列表的内容
- unity3d - 卡通着色器阴影
- apache-kafka - Kafka Streams 删除已使用的重新分区记录,以减少磁盘使用量
- visual-studio - 如何在 Visual Studio 中“安装”dotnet core 2.2 自定义模板
- c# - 比较两个文件夹的 ACL
- android - 为数据库创建的这个游标有什么错误?
- javascript - 如何使用 Redux 在 reducer 中从您的状态修改子对象
- sql - 我应该怎么做才能让每行显示一个单词?用任何方法