网站首页 > 博客文章 正文
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 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())
运行结果如下图所示:
本文知识点
- QComboxBox添加选项的方法;
- 两QComboxBox的选项联动。
喜欢本文内容就收藏,点赞,评论,关注和转发。
猜你喜欢
- 2024-10-24 Qt Examples——QSlider(qt qcompleter)
- 2024-10-24 正点原子I.MX6U嵌入式Qt开发指南:第七章《Qt控件 2》
- 2024-10-24 销售订单管理,Excel表格模板演示
- 2024-10-24 抓大放小,瞅瞅 Qt 的几个基础模块
- 2024-10-24 WPF --- 如何重写WPF原生控件样式?
- 2024-10-24 Python入坑系列-pyside6桌面编程之border边框
- 2024-10-24 1.3 MyFirstWidget代码讲解及实用编程技巧分享
- 2024-10-24 C#知识|.Net控件二次封装之ComboBox下拉框
- 2024-10-24 在WPF 中想要在表格的同一列上显示多个表头
- 2024-10-24 Qt模型视图结构_代理(犀牛缩放视图后看不见模型了)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)