一、概述

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. ubuntu下安装国际版QQ

    在网上看到了好多的ubuntu下安装QQ的方法 好多 下面是看别人的文章 来测试的一篇 ubuntu下 安装国际版QQ http://www.ubuntukylin.com/applications/ ...

  2. Python面试题及答案汇总整理(2019版)

    发现网上很多Python面试题都没有答案,所以博主花了很长时间搜集整理了这套Python面试题及答案,由于网上的Python相关面试题大多数都是2019年的,所以我这个也是2019版的,哈哈~ (文末 ...

  3. Linux7(centOS7)安装jdk/tomcat/docker/mysql

    jdk的rpm安装.tomcat的解压缩安装.docker的yum安装.mysql的docker安装 下载地址 1.1.jdk下载地址 https://www.oracle.com/java/tech ...

  4. python 第二天 之循环与判断

    人生苦短我用python------这句话说的一点都没有错,python功能真的是太强大了,最主要的节约时间,节约时间对于一个程序员意味着什么?意味着早睡,意味着更多的时间可以干更多的活.少熬了了多少 ...

  5. mybatis insert转update,duplicate关键字的使用示例,及返回情况说明

    主键存在时又insert转为update某个关键字段,示例如下,注意,如果这条数据曾经不存在,此时执行insert返回条目是1,如果已存在,执行update返回条目是2!!!<insert id ...

  6. Python_案例_斐波那契数

    方法一: 1 #!/usr/bin/python3 2 3 # Fibonacci series: 斐波纳契数列 4 # 两个元素的总和确定了下一个数 5 a, b = 0, 1 6 while b ...

  7. vue中实时监听移动端屏幕高度(采坑后实践)

    最近做微信公众号活动,需要首页往input中输入内容,点击input软键盘tabbar被顶起来,网上借鉴很多(踩了许多坑)最后自己实践出来. <--!将手机屏幕的默认高度和实时高度获取--> ...

  8. 面试官:小伙子,你给我讲一下java类加载机制和内存模型吧

    类加载机制 虚拟机把描述类的数据从 Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制. 类的生命周期 加载(Loadi ...

  9. 在CorelDRAW2019创建对称绘图模式

    对称绘图模式是CorelDRAW 2018推出的全新功能,在2019的版本中又得到了极大的完善,通过对称绘图模式可以创建平衡.和谐.独一无二的效果,对称在大自然中随处可见,因此设计元素很可能将依靠于它 ...

  10. 关于ABBYY的常见问题与解答

    问:ABBYY的版本那么多,我不知道哪款是我需要的.可不可以帮助我选择? 答:您可在此查看不同版本的功能介绍与版本对比,选择适合自己的版本即可. 查看ABBYY FineReader 15功能:查看A ...