QLineEdit 按键Tab键时 显示历史记录
#LineEdit添加历史记录功能,按下回车添加至历史中
class LineEditWithHistory(QtWidgets.QLineEdit):
def __init__(self, parent ,inputList=[]):
super(LineEditWithHistory, self).__init__(parent) #用于存放历史记录的List
self.inputList = inputList
#LineEdit设置QCompleter,用于显示历史记录
self.completer = QtWidgets.QCompleter(self)
self.listModel = QtCore.QStringListModel(self.inputList, self)
self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
self.completer.setModel(self.listModel)
self.completer.activated.connect(self.Slot_completer_activated)
self.setCompleter(self.completer)
#输入完成按下回车后去重添加到历史记录中
self.returnPressed.connect(self.Slot_editingFinished) def Slot_editingFinished(self):
content = self.text()
if content != "":
if content not in self.inputList:
self.inputList.append(content)
self.listModel.setStringList(self.inputList)
self.completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion) #按下回车后恢复显示模式 https://doc.qt.io/qt-5/qcompleter.html#activated
def Slot_completer_activated(self,text):
self.completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion) def event(self, event):
#按下Tab键时弹出所有记录
if event.type() == QtCore.QEvent.KeyPress and event.key() == QtCore.Qt.Key_Tab:
#设置不过滤显示 https://doc.qt.io/qt-5/qcompleter.html#completionMode-prop
self.completer.setCompletionMode(QtWidgets.QCompleter.UnfilteredPopupCompletion)
self.completer.complete()
self.completer.popup().show()
return True
return super().event(event)
QLineEdit 按键Tab键时 显示历史记录的更多相关文章
- linux 基本配置tab键和显示行号 和中文输入法
一.仅设置当前用户的Tab键宽度 输入命令:vim ~/.vimrc 然后:set tabstop=4 //我这里将Tab键的宽度设置为4 保存:ctrl+z+z(或:wq!) OK! 二.设置所 ...
- vim设置Tab键和显示行号
vim ~/.vimrc set nu 这样设置方便写python代码.
- html---textarea初始化时就有个table空格以及tab键操作无效
1 初始化时就有一个tab空格 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRnJlZUFwZQ==/font/5a6L5L2T/fontsize/400 ...
- vim的tab键设定
多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示.事实上tab也确实是8个空格的长度.不过由于习惯问题,某些童鞋还是 ...
- [No000018F]Vim自动缩进配置、原理和tab键替换空格-Vim使用技巧(4)
一.Vim缩进介绍 在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理.在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格, ...
- source insight 中tab键的设置
转:http://xinzero.com/source-insight-code-alignment-ended.html source insight代码对齐Tab键终极版 以前也写过一个sourc ...
- tabindex 带有指定 tab 键顺序 或焦点 focus
登录注册时,文本框输入焦点 TAB 键时,自定义下一个焦点的顺序 <input type=" /> <input type=" /> 带有指定 tab 键顺 ...
- vim 下修改tab键为四个空格
最近在运行python的时候,发现tab键在在运行过程中无法使用,报错:IndentationError: unindent does not match any outer indentation ...
- linux系统下Vi编辑器或者Vim编辑器设置显示行号、自动缩进、调整tab键宽度的技巧?
工作中嫌vim 中一个tab键的宽度太大,linux系统默认,没改之前是一个tab键宽度是8个字符,想改成4个字符, 操作如下:(注意:这是在root用户下)cd ~vim .vimrc添加如下几行: ...
随机推荐
- vim 注释颜色
方法一 修改 vim 配置文件 /etc/vim/vimrc (1)用vim打开 /etc/vim/vimrc文件 (2)按大写 ‘G’ 到最后一行,插入 hi comment ctermfg=6 ...
- SpringCloud Feign 常用代码
服务提供者 服务提供者,是位于其他项目里面的. 服务提供者提供的方法,在Controller层里面,有可访问的Url. @Controller @RequestMapping("/order ...
- 关于 Javascript 学习,有哪些好的博客或者网站推荐?
知乎社区:http://www.zhihu.com/question/19651401 Mozilla开发者网络社区:https://developer.mozilla.org/zh-CN/ moze ...
- 浅谈SOA面向服务化编程架构(dubbo)
dubbo 是阿里系的技术.并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物.而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注 ...
- 再谈CAP
CAP定理设计者Eric Brewer作为Google基础设施副总裁在时隔二十年后重谈CAP定律. Eric Brewer目前正在推动Kubernetes和容器建设,在这篇采访中:Google sys ...
- 决策树分析、EMV(期望货币值)
名称:决策树分析.EMV(期望货币值) 定义:它利用了概率论的原理,并且利用一种树形图作为分析工具.其基本原理是用决策点代表决策问题,用方案分枝代表可供选择的方案,用概率分枝代表方案可能出现的各种结果 ...
- EIGENSTRAT计算PCA的显著性
之前我写过一篇文章群体遗传分析分层校正,该选用多少个PCA?,里面提到可以通过EIGENSTRAT软件确定显著的主成分,后续就可以将显著的主成分加入协变量中. 这篇文章主要是讲如何通过EIGENSTR ...
- BDC里的 BDC_OKCODE
BDC OKCODE其实都是function code,对于处理一些BDC问题 非常有用, 列出一些知道的 OKCODE BDC_OKCODE 功能描述 =/00. Enter = /8 ...
- Nginx - 代理后端通过域名访问
目录- 前言- Nginx 根据域名反向代理- Nginx proxy_pass 关于 '/' 的作用 1. 前言 接到一个需求,通过nginx 代理互联网上某一个页面,刚开始的时候觉得很简单的,直接 ...
- [LeetCode] 218. The Skyline Problem 天际线问题
A city's skyline is the outer contour of the silhouette formed by all the buildings in that city whe ...