一、概述

Designer中输入工具部件中的Combo Box组合框与其他可视化工具组合框功能相同,组合了按钮和弹出列表的功能,显示当前项并可以弹出可选择项的列表。组合框可以编辑,允许用户修改列表中的每个项。Combo Box组合框对应PyQt中的类QComboBox。

二、组合框项的属性

在Designer中,组合框可设置的项属性包括如下:



各属性简介如下

  • editable:editable用于控制用户是否可对组合框进行编辑,使用setEditable()设置是否允许组合框进行编辑,其是否可编辑状态通过isEditable()方法访问
  • currentText:currentText保存当前文本,如果组合框是可编辑的,则当前文本是组合框编辑框显示的值,如果是不可编辑的,且组合框为空或未设置当前项,则为当前项的值或空字符串。使用方法currentText()获取当前文本,使用方法setCurrentText()设置当前文本,在设置当前文本时,如果组合框是可编辑的,setCurrentText()只是调用setEditText()方法设置编辑框内的文本值,如果是不可编辑的切列表中有匹配的文本,则currentIndex设置为对应项的索引
  • maxVisibleItems:maxVisibleItems用于控制组合框内最多可见的项数,通过方法maxVisibleItems()和setMaxVisibleItems()来访问
  • maxCount:maxCount保存组合框弹出列表中最大项数,用于限制组合框中可以包含的最大项数,其缺省值是最大的带符号整数,典型值是2147483647。可以通过maxCount()和setMaxCount()方法访问
  • insertPolicy:insertPolicy用于控制用户执行编辑框中项插入的策略,其类型为枚举类型QComboBox.InsertPolicy,默认值是QComboBox.InsertAtBottom,即插入到底部,可以通过方法insertPolicy()和方法setInsertPolicy()来访问
  • minimumContentsLength:用于控制组合框应包含的最小字符个数,缺省值为0,可以通过方法minimumContentsLength()和setMinimumContentsLength访问
  • iconSize:用于控制组合框中显示的图标的大小。除非显式设置,否则返回当前样式的默认值。此大小是图标可以具有的最大大小;较小大小的图标不会放大。可以通过方法iconSize()和setIconSize()来访问
  • duplicatesEnabled:用于控制是否允许用户添加重复项,缺省值为False,可以通过方法duplicatesEnabled()和setDuplicatesEnabled()进行访问
  • frame:用于控制组合框是否显示框架,缺省值为True,可以通过方法hasFrame() 和setFrame()来访问
  • modelColumn:用于控制模型中哪列在组合框弹出列表中可见。

三、组合框项的操作方法

组合框的主要操作方法都是基于项进行访问的方法,包括:

  • 使用方法insertItem()和insertItems()插入项
  • 使用setItemText()更改项
  • 使用removeItem()删除项
  • 使用clear()删除所有项
  • 使用currentText()访问当前项的文本
  • 使用text()方法访问指定序号项的文本
  • 使用setCurrentIndex()设置当前项
  • 使用count()获取组合框中的项数
    • 使用clearEditText()清除可编辑组合框显示的字符串而不更改组合框的内容

四、对项的操作会触发如下相关信号:

  • 组合框的当前项更改,会发出两个信号:currentIndexChanged()和activated()
  • 当用户在组合框弹出列表中突出显示某个项时,将发出highlighted()信号
  • 每当可编辑组合框的文本发生更改时,都会发出editTextChanged()信号。

广告

老猿关于PyQt的付费专栏《使用PyQt开发图形界面Python应用》只需要9.9元,该部分与第十五章的内容基本对应,但同样内容在付费专栏上总体来说更详细、案例更多。本节内容对应付费专栏的《第三十四章、PyQt中的输入部件:QComboBox组合框功能详解》。如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

第15.41节、PyQt(Python+Qt)入门学习:输入部件QComboBox组合框功能详解的更多相关文章

  1. 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解

    一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...

  2. 第15.21节 PyQt(Python+Qt)入门学习:QListView的作用及属性详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 QListView是从QAbstractItemView 派生的类,实现了QAbstrac ...

  3. 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...

  4. 第15.28节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTableWidget详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大 ...

  5. 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 树部件(Tree Widget)是Qt Designer中 Item Widgets(It ...

  6. 第15.26节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QListWidget详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 列表部件(List Widget)对应类QListWidget,是从QListView派生 ...

  7. 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...

  8. 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解

    老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...

  9. 第15.37节 PyQt(Python+Qt)入门学习:containers容器类部件QMdiArea多文档界面部件详解及编程开发案例

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 老猿在前期学习PyQt相关知识时,对每个组件的属性及方法都研 ...

随机推荐

  1. How to use vscode to build a springboot project

    How to use vscode to build a springboot project 首先截图一个springboot官网的一个教程说明截图.可以根据这里的指南去创建一个HelloWorld ...

  2. php映射echarts柱状图

    多种样式柱状图 前台部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  3. leetcode45:maximum depth of binary tree

    题目描述 求给定二叉树的最大深度, 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量. Given a binary tree, find its maximum depth. The ma ...

  4. 内网渗透 day8-linux提权和后门植入

    linux提权和后门植入 目录 1. 脏牛漏洞复现 3 (1) 去网上把代码复制然后touch一个.c文件,vi或者vim打开将代码复制进去保存 3 (2) 进入shell然后从kali开的apach ...

  5. Effective Modern C++ ——条款6 当auto型别不符合要求时,使用带显式型别的初始化物习惯用法

    类的代理对象 其实这部分内容主要是说明了在STL或者某些其他代码的容器中,在一些代理类的作用下使得最后的返回值并不是想要的结果. 而他的返回值则是类中的一个容器,看下面的一段代码: std::vect ...

  6. Zabbix + Cloud Alert 实践分享

    前言 如果要问老牌开源监控工具泰斗,当zabbix莫属.之前已分享过 [Kubernetes+Promethues+Cloud Alert实践分享],本篇将继续分享 Zabbix + Cloud Al ...

  7. yum安装Ceph指定Jewel版本

    前言 通过yum安装指定的rpm包,这个一般是 yum --showduplicates list ceph | expand ,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的, ...

  8. 医学AI论文解读 |Circulation|2018| 超声心动图的全自动检测在临床上的应用

    文章来自微信公众号:机器学习炼丹术.号主炼丹兄WX:cyx645016617.文章有问题或者想交流的话欢迎- 参考目录: @ 目录 0 论文 1 概述 2 pipeline 3 技术细节 3.1 预处 ...

  9. this.getClass().getResource("") url path file 区别

    首先注意 "/word/appointDismiss.docx" 前面一定要加 /,有一次我就是忘记加/ 查了半天错, 不能写成 "word/appointDismiss ...

  10. Javaer 进阶必看的 RocketMQ ,就这篇了

    每个时代,都不会亏待会学习的人. 大家好,我是 yes. 继上一篇 头条终面:写个消息中间件 ,我提到实现消息中间件的一些关键点,今天就和大家一起深入生产级别消息中间件 - RocketMQ 的内核实 ...