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相关推荐

  1. python qt5 增加文本框_PyQt5 文本输入框自动补全 QLineEdit

    一.QCompleter类 - 自动补全会用到的一个类 主要代码 def init_lineedit(self): # 增加自动补全 self.completer = QCompleter(items ...

  2. python qt5 增加文本框_PyQt5 文本输入框自动补全QLineEdit的实现示例

    一.QCompleter类 自动补全会用到的一个类 主要代码 def init_lineedit(self): # 增加自动补全 self.completer = QCompleter(items_l ...

  3. qlineedit文本改变时_行文本编辑框QLineEdit及自动补全

    导读 行文本输入框在用于界面的文本输入,在WEB登录表单中应用广泛.一般行文本编辑框可定制性较高,既可以当作密码输入框,又可以作为文本过滤器.QLineEdit本身使用方法也很简单,无需过多的设置就能 ...

  4. jQuery搜索框自动补全功能插件实现-autocomplete.js

    最近用nodeclub实现股票的输入关键字自动补全股票信息进行搜索功能,原先用jQuery-ui,结果jQuery-ui库太大,所以考虑用其他插件,最终选择使用autocomplete.js,控件简单 ...

  5. IDEA IntelliJ/ DataGrip 修改自动补全快捷键

    系统默认的是Tab键,个人喜欢用空格键作为自动补全键,设置方法如下 Setting-->Keymap-->Editor Actions:Choose Lookup Item Replace ...

  6. 字符串匹配数据结构 --Trie树 高效实现搜索词提示 / IDE自动补全

    文章目录 1. 算法背景 2. Trie 树实现原理 2.1 Trie 树的构建 2.2 Trie树的查找 2.3 Trie树的遍历 2.4 Trie树的时间/空间复杂度 2.5 Trie 树 Vs ...

  7. linux下 为自己编写的程序 添加tab自动补全 功能

    linux下 为自己编写的程序 添加tab自动补全功能 入门 complete 在我的tmp下随便写了一个a.sh, 为他补全 edit /etc/bash_completion.d/foo _foo ...

  8. [解决]eclipse中android自动补全/提示卡机或假死

    这是Eclipse3.6版本的特有问题,想彻底解决此问题的话,还是建议换为3.5/3.4: 在保持版本不变的前提下,可以按如下方法优化下: 解决办法: 1. 找到你的JDK安装目录下的src.zip文 ...

  9. [Go]在vscode中添加对模板文件tmpl的html语法自动补全的支持

    1.打开设置界面 依次点击:"文件" --> "首选项" --> "设置" 2.打开文件配置 依次点击:"文本编辑器& ...

最新文章

  1. 在三层交换机上配置DHCP
  2. P2B: Point-to-Box Network 点云目标跟踪(CVPR 2020)
  3. pytorch bert预训练模型的加载地址
  4. MIT录取不再看SAT科目成绩:曾是华裔传统优势,数学等学科测验更是中国留学生强项...
  5. 使用QQ截图取色的方法
  6. Zabbix基本配置及监控主机
  7. 使用临界区 CRITICAL_SECTION 实现互斥
  8. Leetcode 260. 只出现一次的数字 III 解题思路及C++实现
  9. 解决Ubuntu上的phpMyAdmin 404 错误
  10. java hotswap_DCEVM+HotSwapAgent实现java类热加载
  11. python thrift 进行filter
  12. 基于docker的CI/CD
  13. centos7 修改时区
  14. 第四期coding_group笔记_用CRF实现分词-词性标注
  15. latex论文模板_国内高校LaTeX学位论文模版大全
  16. 测试自学人必看:软件测试如何找测试项目?
  17. Domain Adaptation论文合集
  18. (1)语言是什么——NLP的语言基础
  19. ubuntu解决 Can‘t locate Time/HiRes.pm in @INC 安装Time::HiRes教程
  20. DB2缓冲池、表空间详解

热门文章

  1. 常用SHELL软件命令
  2. Vmware 中Linux中NAT网络异常解决方法
  3. 程序员的算法课(11)-KMP算法
  4. SQL Server备份账号和密码
  5. 四步奠定SDN部署基石
  6. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...
  7. 【mongodb系统学习之三】进入mongodb shell
  8. byte数组之间的赋值,byte和TCHAR数组的赋值
  9. __asm__ __volatile__内嵌汇编用法简述
  10. 从MAC缓存表中我们看到的问题