zoukankan      html  css  js  c++  java
  • 第15.41节、PyQt(Python+Qt)入门学习:输入部件QComboBox组合框功能详解

    一、概述

    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!

  • 相关阅读:
    CF 936C Lock Puzzle——构造
    LOJ 2980 「THUSCH 2017」大魔法师——线段树
    LOJ 2979 「THUSCH 2017」换桌——多路增广费用流
    LOJ 2978 「THUSCH 2017」杜老师——bitset+线性基+结论
    LOJ 2997 「THUSCH 2017」巧克力——思路+随机化+斯坦纳树
    LOJ 2557 「CTSC2018」组合数问题 (46分)
    bzoj 3158 千钧一发 —— 最小割
    CF1092 D & E —— 思路+单调栈,树的直径
    bzoj 5120 无限之环 & 洛谷 P4003 —— 费用流(多路增广SPFA)
    bzoj 1070 修车 —— 费用流
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643565.html
Copyright © 2011-2022 走看看