16.PyQt5【基本组件】下拉列表-QComboBox
一、前言
QComboBox 提供一个下拉列表,其中包含可供选择的项目。只显示当前选定的项目所需的窗体上的最小屏幕空间。
二、学习目标
1.QComboBox常用方法
2.QComboBox常用信号
3.QComboBox组件的应用
三、知识点
1.【QComboBox常用方法】
方法 | 描述 |
---|---|
addItem() | 增加单个选项内容 |
addItems() | 增加多个, 参数为列表 |
Clear() | 删除下拉列表中的所有选项 |
Count() | 返回下拉列表中的所有项目数量 |
currentText() | 返回当前选中项的文本 |
itemText(i) | 获取索引为i的item文本 |
setItemText(i) | 设置索引为i的item文本 |
currentIndex | 返回当前选中项的索引 |
2.【QComboBox常用信号】
名称 | 描述 |
---|---|
activated() | 选中一个下拉选项的时候发射,不管是否和上次相同 |
currentIndexChanged() | 下拉选项的索引发生变化时发射,如果本次选中的和之前的相同,则不会发射 |
highlighted() | 不管焦点停留在哪个上面都会触发此信号,但是返回的currentText仍为蓝色显示的条目,而不是光标移动到的条目,传递的第二个参数是光标移动到的index |
3.【QComboBox组件的应用】
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox
class QmyWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent) # 调用父类的构造函数,创建QWidget窗体
self.setupUi()
def setupUi(self):
"""页面初始化"""
# 设置窗体大小及标题
self.resize(500, 400)
self.setWindowTitle("QComboBox组件示例")
# 创建布局
self.layout = QVBoxLayout()
# QComboBox组件定义
self.combo = QComboBox(self)
# QComboBox组件设置
self.itmes = ["one", "two", "three", "four"]
self.combo.addItem("zero") # 设置单个项目
self.combo.addItems(self.itmes) # 设置多个项目
# QComboBox关联信号
self.combo.activated.connect(self.on_combo_activated)
# 将组件添加到布局中
self.layout.addWidget(self.combo)
# 为窗体添加布局
self.setLayout(self.layout)
def on_combo_activated(self, index):
"""combo组件槽函数"""
print("combo下拉列表被切换啦:{}!".format(index))
if __name__ == '__main__':
app = QApplication(sys.argv)
myMain = QmyWidget()
myMain.show()
sys.exit(app.exec_())
-
关键代码
# QComboBox组件定义 self.combo = QComboBox(self) # QComboBox组件设置 self.itmes = ["one", "two", "three", "four"] self.combo.addItem("zero") # 设置单个项目 self.combo.addItems(self.itmes) # 设置多个项目 # QComboBox关联信号 self.combo.activated.connect(self.on_combo_activated) # combo下拉列表关联信号,切换项目时触发
QComboBox下拉列表增加项目有两种方式,一种是通过addItem()方法增加单个项目;一种是通过addItems()方法增加多个项目
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器