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获取服务器信息的最简单实现方法
Mar 05 Python
Python中函数的参数传递与可变长参数介绍
Jun 30 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
对python 自定义协议的方法详解
Feb 13 Python
python处理大日志文件
Jul 23 Python
Python reversed函数及使用方法解析
Mar 17 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
Python colormap库的安装和使用详情
Oct 06 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 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
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
Node.js文件操作详解
2014/08/16 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
Python 和 JS 有哪些相同之处
2017/11/23 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
SQL Server面试题
2013/04/04 面试题
党员自我剖析材料
2014/08/31 职场文书
护士自我推荐信范文
2015/03/24 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
环保建议书范文
2015/09/14 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
一篇文章带你复习java知识点
2021/06/28 Java/Android
基于Python实现流星雨效果的绘制
2022/03/18 Python