实战PyQt5: 014

您所在的位置:网站首页 qt下拉列表控件怎么根据文件名 实战PyQt5: 014

实战PyQt5: 014

2023-09-20 07:57| 来源: 网络整理| 查看: 265

QComboBox简介

QComboBox下拉列表框,是一个集按钮和下拉列表选项于一体的部件。QComboBox提供了一种向用户呈现选项列表的方式,其占用最小量的屏幕空间。

QComboBox中的常用方法:

addItem(): 添加一个下拉选项;addItems(): 从列表中添加下拉选项;clear(): 删除下拉选项集合中的所有选项;count(): 返回下拉选项集合中的数目;currentText(): 返回选中选项的文本;itemText(index): 获取索引为index的item的选项文本;currentIndex(): 返回选中项的索引;setItemText(index, text): 改变序列号为index的文本。

QComboBox中的常用信号:

activated: 当用户选中一个下拉选项时发射该信号;currentIndexChanged: 当下拉选项的索引发生改变时发射该信号;highlighted: 当选中一个已经选中的下拉选项时,发射该信号。

QComboBox类继承关系:

实战PyQt5: 014-下拉列表框控件QComboBox

 

测试QComboBox

创建文件qcombobox.py, 实现两个QCombobox联动,当选中分类里的某类植物时,在植物下拉列表中列出相应的植物。完整代码如下:

import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel, QComboBox)   class DemoComboBox(QMainWindow):     def __init__(self, parent=None):         super(DemoComboBox, self).__init__(parent)                  # 设置窗口标题         self.setWindowTitle('实战PyQt5: QComboBox Demo!')               # 设置窗口大小         self.resize(400, 240)                  self.plants = {'蔬菜': ['茄子', '苦瓜', '南瓜', '西红柿'], '花卉': ['兰花', '桂花', '荷花'], '水果': ['桃子', '橘子', '芒果'] }                  QLabel('分类:', self).move(10, 10)         self.catalog = QComboBox(self)         self.catalog.addItem('--请选择--')         self.catalog.addItem('蔬菜')          self.catalog.addItem('花卉')         self.catalog.addItems(['水果', '多肉植物'])         self.catalog.setGeometry(10, 40, 100, 30)         self.catalog.currentIndexChanged.connect(self.catalogChanged)                    QLabel('植物:', self).move(160, 10)         self.plant =  QComboBox(self)         self.plant.addItem('--请选择--')         self.plant.setGeometry(160, 40, 100, 30)         self.plant.currentTextChanged.connect(self.plantChanged)                  #显示选中的信息         self.info = QLabel(self)         self.info.setGeometry(10, 200, 300, 30)              def catalogChanged(self):         cat = self.catalog.currentText()         self.plant.clear()         if cat != '--请选择--':             self.plant.addItems(self.plants[cat]) if cat in self.plants.keys() else ['--请选择--']         else:             self.plant.addItem('--请选择--')          def plantChanged(self):         if self.catalog.currentText() != '--请选择--':             self.info.setText('分类: ' + self.catalog.currentText() + '  品种: ' + self.plant.currentText())                if __name__ == '__main__':     app = QApplication(sys.argv)     window = DemoComboBox()     window.show()     sys.exit(app.exec())    

运行结果如下图所示:

实战PyQt5: 014-下拉列表框控件QComboBox

测试QComboBox

本文知识点 QComboxBox添加选项的方法;两QComboxBox的选项联动。

前一篇: 实战PyQt5: 013-文本编辑控件QTextEdit



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3