当前位置: 首页 > news >正文

PyQt5基本窗口控件(QComboBox(下拉列表框))

QComboBox(下拉列表框)

QComboBox是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。
QComboBox类中的常用方法如表4-6所示。

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

QComboBox类中的常用信号如表4-17所示。

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

QComboBox按钮的使用

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class ComboxDemo(QWidget):def __init__(self,parent=None):super(ComboxDemo,self).__init__(parent)self.setWindowTitle("combox例子")self.resize(300,90)layout=QVBoxLayout()self.lbl=QLabel("")self.cb=QComboBox()self.cb.addItem("C")self.cb.addItem("C++")self.cb.addItems(["Java", "C#", "Python"])self.cb.currentIndexChanged.connect(self.selectionchange)layout.addWidget(self.cb)layout.addWidget(self.lbl)self.setLayout(layout)def selectionchange(self,i):self.lbl.setText(self.cb.currentText())self.lbl.adjustSize()print("Itemsin the list are.")for count in range(self.cb.count()):print('item'+str(count)+'='+self.cb.ItemText(count))print("Currentindex",i,"selection changed",self.cb.currentText())if __name__=='__main__':app=QApplication(sys.argv)comboDemo=ComboxDemo()comboDemo.show()sys.exit(app.exec_())

运行结果

image

代码分析:
在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有5个选
项,既可以使用QComboBox的addltem()方法添加单个选项,也可以使用addltems()
方法添加多个选项:标签显示的是从下拉列表框中选择的选项,

 self.cb=QComboBox()self.cb.addItem("C")self.cb.addItem("C++")self.cb.addItems(["Java", "C#", "Python"])

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

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

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

 def selectionchange(self,i):self.lbl.setText(self.cb.currentText())
http://www.xdnf.cn/news/437509.html

相关文章:

  • AI开发者的算力革命:GpuGeek平台全景实战指南(大模型训练/推理/微调全解析)
  • 注解和 XML 两种方式有什么区别?
  • hudi + flinksql 处理 金额汇总的实时场景
  • Flink实时统计任务CPU异常排查与解决方案
  • Thrust库中的Gather和Scatter操作
  • 【​​HTTPS基础概念与原理​】​​HTTPS vs HTTP:为什么现代网站必须用HTTPS?
  • 元宇宙赛道新势力:成都芯谷产业园创新业务如何重构产业格局
  • 5.18-AI分析师
  • 【RabbitMq C++】消息队列组件
  • 人工智能外呼系统:重构智能交互的全维度进化
  • ORACLE查看归档是否打开
  • 海量数据Top k 与查重问题
  • JavaScript篇:揭秘函数式与命令式编程的思维碰撞
  • 基于Python的量化交易实盘部署与风险管理指南
  • XD08M3232接近感应单片机的接近感应模块的工作原理
  • VTK|类似CloudCompare的比例尺实现2-vtk实现
  • DML和DQL
  • 基于 GPUGEEK平台进行vLLM环境部署DeepSeek-R1-70B
  • 从零开始学习three.js(16):一文详解three.js中的法向量Normal Vector
  • FPGA在光谱相机中的核心作用
  • [数据结构]6. 队列-Queue
  • 笛卡尔路径规划
  • React 第三十九节 React Router 中的 unstable_usePrompt Hook的详细用法及案例
  • React 第四十节 React Router 中 useBeforeUnload的使用详细解析及案例说明
  • Jsp技术入门指南【十四】实现基于MySQL+JDBC+JSP数据库验证的登录界面与登录跳转功能
  • LeRobot 框架的核心架构概念和组件(上)
  • 阿里端到端多模态语音对话开源模型论文速读:Qwen2.5-Omni
  • 机器学习 Day16 聚类算法 ,数据降维
  • SpringBoot整合MQTT实战:基于EMQX构建高可靠物联网通信,从零到一实现设备云端双向对话
  • ubuntu 22.04 wifi网卡配置地址上网