QComboBox简介
QComboBox下拉列表框,是一个集按钮和下拉列表选项于一体的部件。QComboBox提供了一种向用户呈现选项列表的方式,其占用最小量的屏幕空间。
QComboBox中的常用方法:
- addItem(): 添加一个下拉选项;
- addItems(): 从列表中添加下拉选项;
- clear(): 删除下拉选项集合中的所有选项;
- count(): 返回下拉选项集合中的数目;
- currentText(): 返回选中选项的文本;
- itemText(index): 获取索引为index的item的选项文本;
- currentIndex(): 返回选中项的索引;
- setItemText(index, text): 改变序列号为index的文本。
QComboBox中的常用信号:
- activated: 当用户选中一个下拉选项时发射该信号;
- currentIndexChanged: 当下拉选项的索引发生改变时发射该信号;
- highlighted: 当选中一个已经选中的下拉选项时,发射该信号。
QComboBox类继承关系:
测试QComboBox
创建文件qcombobox.py, 实现两个QCombobox联动,当选中分类里的某类植物时,在植物下拉列表中列出相应的植物。完整代码如下:
import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQ import (QApplication, QMainwindow, QLabel, QComboBox) class DemoComboBox(QMainWindow): def __init__(self, parent=None): super(DemoComboBox, self).__init__(parent) # 设置窗口标题 ('实战PyQt5: QComboBox Demo!') # 设置窗口大小 (400, 240) = {'蔬菜': ['茄子', '苦瓜', '南瓜', '西红柿'], '花卉': ['兰花', '桂花', '荷花'], '水果': ['桃子', '橘子', '芒果'] } QLabel('分类:', self).move(10, 10) = QComboBox(self) .addItem('--请选择--') .addItem('蔬菜') .addItem('花卉') .addItems(['水果', '多肉植物']) .setGeometry(10, 40, 100, 30) .currentIndexChanged.connect(Changed) QLabel('植物:', self).move(160, 10) = QComboBox(self) .addItem('--请选择--') .setGeometry(160, 40, 100, 30) .currentTextChanged.connect(Changed) #显示选中的信息 = QLabel(self) .setGeometry(10, 200, 300, 30) def catalogChanged(self): cat = .currentText() .clear() if cat != '--请选择--': .addItems([cat]) if cat in .keys() else ['--请选择--'] else: .addItem('--请选择--') def plantChanged(self): if .currentText() != '--请选择--': .setText('分类: ' + .currentText() + ' 品种: ' + .currentText()) if __name__ == '__main__': app = QApplication) window = DemoComboBox() window.show() ())
运行结果如下图所示:
测试QComboBox
本文知识点
- QComboxBox添加选项的方法;
- 两QComboxBox的选项联动。
喜欢本文内容就收藏,点赞,评论,关注和转发。