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/85302252https://download.csdn.net/download/gui818/85302252
|