文章目录
-
- combobox简介
- 调用
- 小结
- PyQT6初步教程:从零开始做一个计时器
combobox简介
Combobox即下拉菜单,是GUI中最常见的部件之一,在pyqt设计器中,可直接将其拖拽到窗体中。拖拽后,双击部件,或右键->【编辑项目】,即可编辑其内容。在弹出的【编辑组合框】中,点击加号即可添加项目,减号可删除项目。编辑完成后,效果如昔

该GUI表单存储为comboTest.ui,其对应的python代码如下,目前只是简单的加载。
from PyQt6 import uic
from PyQt6.QtWidgets import QApplication, QMainWindow
import sys
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi('comboTest.ui', self) # 加载UI文件
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec())
调用
为了测试combobox的用法,下面拖拽几个按钮,其name和text分别如下
| btnInserts | 添加列表 | |
| btnInsert | 插入单行 | |
| btnClear | 清空项目 | |
| btnCurrent | 当前值 |
一开始拖拽的combobox的name并没有被修改,是默认值comboBox。修改MyWindow如下
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi('comboTest.ui', self) # 加载UI文件
self.btnConnect() # 连接按钮事件
def btnConnect(self):
self.btnInsert.clicked.connect(self.btnInsert_click)
self.btnInserts.clicked.connect(self.btnInserts_click)
self.btnClear.clicked.connect(self.btnClear_click)
self.btnCurrent.clicked.connect(self.btnCurrent_click)
def btnInsert_click(self):
self.comboBox.insertItem(0, 'Python')
self.comboBox.insertItem(1, 'Java')
self.comboBox.insertItem(2, 'C++')
def btnInserts_click(self):
items = ['JavaScript', 'Go', 'Rust']
self.comboBox.addItems(items)
def btnClear_click(self):
self.comboBox.clear()
def btnCurrent_click(self):
current_text = self.comboBox.currentText()
print(f'当前选中的项: {current_text}')
上面的代码中,四个按钮分别绑定了四个动作,分别用于添加单行项目,添加项目列表,清空项目以及获取项目内容。最终效果为

上面的代码中
- 【insertItem】看根据指定的位置和内容插入项目
- 【addItems】在下拉框尾部插入项目列表
- 【clear】清空所有项目
- 【currentText】读取当前项目文本
添加动作
当combobx选择的内容发生变化时,可以通过【currentTextChanged】进行触发,其出发逻辑和按钮一样。其使用方法如下,在上面代码中的btnConnect函数中,添加如下内容,从而在选择项目后,命令行中就会输出当前选择的内容。
self.comboBox.currentTextChanged.connect(lambda : print(self.comboBox.currentText()))
小结
本文介绍了PyQt6中Combobox下拉菜单的基本使用方法。通过UI设计器创建Combobox后,演示了四种常用操作:使用insertItem按指定位置插入单行项目、用addItems批量添加项目列表、clear方法清空所有选项,以及currentText获取当前选中项文本。文中提供了完整的Python代码示例,展示了如何通过按钮触发这些功能,并附有操作效果动图。这些方法为GUI开发中实现下拉菜单的增删查功能提供了基础解决方案。


