PyQt5 关于自动补全 QCompleter
PyQt5 关于自动补全 QCompleter
- 1. 缘由
- 2. 搭建
1. 缘由
天生记忆力差,自动补全内容功能用起来确实是很方便
2. 搭建
代码如下:
import sys
from PyQt5 import QtCore, QtWidgets# 选项列表
items_list = ["CSDN", "GitHub", "GitLab", "ROS", "ROS2", "STM32"]class Widget(QtWidgets.QWidget):def __init__(self):super().__init__()# 设置水平布局管理layout = QtWidgets.QHBoxLayout(self)# 创建文本框和组合框self.line_edit = QtWidgets.QLineEdit(self, minimumWidth=150)self.combo_box = QtWidgets.QComboBox(self, minimumWidth=150)self.combo_box.setEditable(True)# 添加标题和文本框layout.addWidget(QtWidgets.QLabel("QLineEdit", self))layout.addWidget(self.line_edit)# 设置空白区layout.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))# 添加标题和组合框layout.addWidget(QtWidgets.QLabel("QComboBox", self))layout.addWidget(self.combo_box)# 增加组合框选项元素for i in range(len(items_list)):self.combo_box.addItem(items_list[i])# 设置组合框初始选中值self.combo_box.setCurrentIndex(-1)# 配置自动补全self.auto_complete()def auto_complete(self):"""配置自动补全函数"""# 增加自动补全self.completer = QtWidgets.QCompleter(items_list)# 设置匹配模式 有三种: Qt.MatchStartsWith 开头匹配(默认)# Qt.MatchContains 内容匹配# Qt.MatchEndsWith 结尾匹配self.completer.setFilterMode(QtCore.Qt.MatchContains)# 设置补全模式 有三种: QCompleter.PopupCompletion 弹出选项补全(默认)# QCompleter.InlineCompletion 行内显示补全# QCompleter.UnfilteredPopupCompletion 全显选项补全self.completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)# 设置 line_edit 和 combo_box 的补全器self.line_edit.setCompleter(self.completer)self.combo_box.setCompleter(self.completer)if __name__ == "__main__":app = QtWidgets.QApplication(sys.argv)w = Widget()w.show()sys.exit(app.exec_())
效果如下:
谢谢
PyQt5 关于自动补全 QCompleter相关推荐
- python qt5 增加文本框_PyQt5 文本输入框自动补全 QLineEdit
一.QCompleter类 - 自动补全会用到的一个类 主要代码 def init_lineedit(self): # 增加自动补全 self.completer = QCompleter(items ...
- python qt5 增加文本框_PyQt5 文本输入框自动补全QLineEdit的实现示例
一.QCompleter类 自动补全会用到的一个类 主要代码 def init_lineedit(self): # 增加自动补全 self.completer = QCompleter(items_l ...
- qlineedit文本改变时_行文本编辑框QLineEdit及自动补全
导读 行文本输入框在用于界面的文本输入,在WEB登录表单中应用广泛.一般行文本编辑框可定制性较高,既可以当作密码输入框,又可以作为文本过滤器.QLineEdit本身使用方法也很简单,无需过多的设置就能 ...
- jQuery搜索框自动补全功能插件实现-autocomplete.js
最近用nodeclub实现股票的输入关键字自动补全股票信息进行搜索功能,原先用jQuery-ui,结果jQuery-ui库太大,所以考虑用其他插件,最终选择使用autocomplete.js,控件简单 ...
- IDEA IntelliJ/ DataGrip 修改自动补全快捷键
系统默认的是Tab键,个人喜欢用空格键作为自动补全键,设置方法如下 Setting-->Keymap-->Editor Actions:Choose Lookup Item Replace ...
- 字符串匹配数据结构 --Trie树 高效实现搜索词提示 / IDE自动补全
文章目录 1. 算法背景 2. Trie 树实现原理 2.1 Trie 树的构建 2.2 Trie树的查找 2.3 Trie树的遍历 2.4 Trie树的时间/空间复杂度 2.5 Trie 树 Vs ...
- linux下 为自己编写的程序 添加tab自动补全 功能
linux下 为自己编写的程序 添加tab自动补全功能 入门 complete 在我的tmp下随便写了一个a.sh, 为他补全 edit /etc/bash_completion.d/foo _foo ...
- [解决]eclipse中android自动补全/提示卡机或假死
这是Eclipse3.6版本的特有问题,想彻底解决此问题的话,还是建议换为3.5/3.4: 在保持版本不变的前提下,可以按如下方法优化下: 解决办法: 1. 找到你的JDK安装目录下的src.zip文 ...
- [Go]在vscode中添加对模板文件tmpl的html语法自动补全的支持
1.打开设置界面 依次点击:"文件" --> "首选项" --> "设置" 2.打开文件配置 依次点击:"文本编辑器& ...
最新文章
- 在三层交换机上配置DHCP
- P2B: Point-to-Box Network 点云目标跟踪(CVPR 2020)
- pytorch bert预训练模型的加载地址
- MIT录取不再看SAT科目成绩:曾是华裔传统优势,数学等学科测验更是中国留学生强项...
- 使用QQ截图取色的方法
- Zabbix基本配置及监控主机
- 使用临界区 CRITICAL_SECTION 实现互斥
- Leetcode 260. 只出现一次的数字 III 解题思路及C++实现
- 解决Ubuntu上的phpMyAdmin 404 错误
- java hotswap_DCEVM+HotSwapAgent实现java类热加载
- python thrift 进行filter
- 基于docker的CI/CD
- centos7 修改时区
- 第四期coding_group笔记_用CRF实现分词-词性标注
- latex论文模板_国内高校LaTeX学位论文模版大全
- 测试自学人必看:软件测试如何找测试项目?
- Domain Adaptation论文合集
- (1)语言是什么——NLP的语言基础
- ubuntu解决 Can‘t locate Time/HiRes.pm in @INC 安装Time::HiRes教程
- DB2缓冲池、表空间详解
热门文章
- 常用SHELL软件命令
- Vmware 中Linux中NAT网络异常解决方法
- 程序员的算法课(11)-KMP算法
- SQL Server备份账号和密码
- 四步奠定SDN部署基石
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...
- 【mongodb系统学习之三】进入mongodb shell
- byte数组之间的赋值,byte和TCHAR数组的赋值
- __asm__ __volatile__内嵌汇编用法简述
- 从MAC缓存表中我们看到的问题