栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python3+PyQt5基础(三)通过QComboBox获取多列数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python3+PyQt5基础(三)通过QComboBox获取多列数据

1.问题的提出:

一般在实际应用中下拉选择框所展现的内容与实际要取的值是不同的,比如:部门名称是财务部,实际的ID是1001,而且在关联的数据库中我们一般是使用部门ID的值

2.解决方法:

1)初始化python的数据类型为列表list中包含元组tuple

self.strlist =[('001','信息部',1,'17280671@qq.com'), ('002','督导部',2,'17280671@qq.com'), ('003','财务部',3,'17280671@qq.com'),('004','人事部',4,'17280671@qq.com'),
                       ('005','行政部',5,'17280671@qq.com'),('006','市场部',5,'17280671@qq.com')]

2)使用PyQt5的QStandardItem和QStandardItemModel得到Model

self.model = QStandardItemModel(self)
        for t in enumerate(self.strlist):
            for j in range(len(t[1])):
                self.model.setItem(t[0],j, QStandardItem(t[1][j]))
            print(t[0], t[1][0], t[1][1], t[1][2], t[1][3])

3)用QComboBox展现内容并显示所选结果

self.comboBox.setModel(self.model)
        self.comboBox.setModelColumn(1)
        #当下拉索引发生改变时发射信号触发绑定的事件
        self.comboBox.currentIndexChanged.connect(self.selectionchange)
    def selectionchange(self,i):
        self.label.setText("部门编号:%s,部门名称:%s rnrn部门邮箱:%s"%(self.strlist[i][0],self.strlist[i][1],self.strlist[i][3]))

项目源码结构:

源码下载地址:

https://download.csdn.net/download/gui818/85302252https://download.csdn.net/download/gui818/85302252

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861581.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号