python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例


Posted in Python onFebruary 27, 2020

PyQt5下拉列表框控件QComboBox介绍

QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框

QComboBox类中的常用方法如表

方法 描述
addItem() 添加一个下拉选项
addItems() 从列表中添加下拉选项
Clear() 删除下拉选项集合中的所有选项
count() 返回下拉选项集合中的数目
currentText() 返回选中选项的文本
itemText(i) 获取索引为i的item的选项文本
currentIndex() 返回选中项的索引
setItemText(int index,text) 改变序列号为index的文本

QComboBox类中的常用信号

信号 含义
Activated 当用户选中一个下拉选项时发射该信号
currentIndexChanged 当下拉选项的索引发生改变时发射该信号
highlighted 当选中一个已经选中的下拉选项时,发射该信号

下拉列表框控件QComboBox按钮的使用实例

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class ComboxDemo(QWidget):
  def __init__(self,parent=None):
    super(ComboxDemo, self).__init__(parent)
    #设置标题
    self.setWindowTitle('ComBox例子')
    #设置初始界面大小
    self.resize(300,90)

    #垂直布局
    layout=QVBoxLayout()
    #创建标签,默认空白
    self.btn1=QLabel('')

    #实例化QComBox对象
    self.cb=QComboBox()
    #单个添加条目
    self.cb.addItem('C')
    self.cb.addItem('C++')
    self.cb.addItem('Python')
    #多个添加条目
    self.cb.addItems(['Java','C#','PHP'])
    #当下拉索引发生改变时发射信号触发绑定的事件
    self.cb.currentIndexChanged.connect(self.selectionchange)

    #控件添加到布局中,设置布局
    layout.addWidget(self.cb)
    layout.addWidget(self.btn1)
    self.setLayout(layout)

  def selectionchange(self,i):
    #标签用来显示选中的文本
    #currentText():返回选中选项的文本
    self.btn1.setText(self.cb.currentText())
    print('Items in the list are:')
    #输出选项集合中每个选项的索引与对应的内容
    #count():返回选项集合中的数目
    for count in range(self.cb.count()):
      print('Item'+str(count)+'='+self.cb.itemText(count))
      print('current index',i,'selection changed',self.cb.currentText())

if __name__ == '__main__':
  app=QApplication(sys.argv)
  comboxDemo=ComboxDemo()
  comboxDemo.show()
  sys.exit(app.exec_())

效果图如下

python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例

下拉列表框控件QComboBox代码分析:

在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有几个选项,既可以使用QCombobox的addItem()方法添加单个选项,也可以使用addItems()方法添加多个选项:标签显示的是从下拉列表框中选择的选项

#单个添加条目
    self.cb.addItem('C')
    self.cb.addItem('C++')
    self.cb.addItem('Python')
    #多个添加条目
    self.cb.addItems(['Java','C#','PHP'])

当下拉列表框选中的选项发生改变时将发射currentIndexChanged信号,链接到自定义的槽函数selectionChange()

self.cb.currentIndexChanged.connect(self.selectionchange)

在方法中,当选中下拉列表框中的一个选项时,将把该选项文本设置为标签的文本,并调整标签的大小

def selectionchange(self,i):
    #标签用来显示选中的文本
    #currentText():返回选中选项的文本
    self.btn1.setText(self.cb.currentText())

本文详细介绍了PyQt5下拉列表框控件QComboBox详细使用方法与实例,更多关于PyQt5下拉列表框控件QComboBox的知识请查看下面的相关链接

Python 相关文章推荐
介绍Python的Django框架中的QuerySets
Apr 20 Python
python3制作捧腹网段子页爬虫
Feb 12 Python
Python入门之三角函数全解【收藏】
Nov 08 Python
基于python的图片修复程序(实现水印去除)
Jun 04 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
python挖矿算力测试程序详解
Jul 03 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
使用Python制作新型冠状病毒实时疫情图
Jan 28 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
python urllib和urllib3知识点总结
Feb 08 Python
Python 之 Json序列化嵌套类方式
Feb 27 #Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 #Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 #Python
python列表切片和嵌套列表取值操作详解
Feb 27 #Python
Python递归实现打印多重列表代码
Feb 27 #Python
Python各种扩展名区别点整理
Feb 27 #Python
You might like
mysql 搜索之简单应用
2007/04/27 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
深入解析php之sphinx
2013/05/15 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
Node.js 的模块知识汇总
2017/08/16 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
python异常触发及自定义异常类解析
2019/08/06 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
pytorch标签转onehot形式实例
2020/01/02 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
python中return不返回值的问题解析
2020/07/22 Python
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
学生喝酒检讨书
2014/02/06 职场文书
cf收人广告词
2014/03/14 职场文书
学习礼仪心得体会
2014/09/01 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
mysql 带多个条件的查询方式
2021/06/05 MySQL
OpenCV-Python实现轮廓拟合
2021/06/08 Python