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

该博客介绍了如何在Python PyQt5应用中将下拉选择框的内容与数据库ID进行绑定。通过创建一个包含元组的列表来存储数据,然后利用QStandardItem和QStandardItemModel创建模型,并设置QComboBox以显示部门名称,同时在选择变化时更新相关信息。源代码可供下载,展示了具体的实现细节。
摘要由CSDN通过智能技术生成

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 \r\n\r\n部门邮箱:%s"%(self.strlist[i][0],self.strlist[i][1],self.strlist[i][3]))

项目源码结构:

源码下载地址:

https://download.csdn.net/download/gui818/85302252icon-default.png?t=M3K6https://download.csdn.net/download/gui818/85302252

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿桂天山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值