PyQt5基础开发(6)
本篇介绍PyQt5中的下拉表框控件QComboBox , 提供一个下拉列表供用户选择 。
本篇介绍一个使用管理人员选择并登录之后 , 使用QComboBox选择人员的地址 , 并添加人员信息 。 之后可通过姓名查询的案例 。
新建一个界面
文章插图
UI
初始化列表QComboBox的addItems(List[])函数用于添加项到列表里 , 添加到里面的参数是一个列表 。
self.provinceCb.addItems(["北京市", "浙江省", "天津市", "安徽省"])
文章插图
ComBox
ComboBox的项选择操作在ComboBox的选择项发生改变时候 , 会发射一个currentIndexChanged信号 , 有两个类型的信号 , 一个是str类型一个是int类型 。
currentIndexChanged(int)currentIndexChanged(str)
管理人员登录代码用一个字典存储管理人员的姓名和密码 。
comboBox.currentText()用来获取当前comboBox的文字 。 当输入密码比较完成之后 , Label显示登录成功 。 并把登录标志logIn置为True 。
def btnSignIn_clicked(self):adminDictionary = {"张三": "123456", "李四": "456789", "老王": "345678"}adminName = self.comboBox.currentText()getPwd = self.passWord.text()if getPwd == adminDictionary[adminName]:self.signLabel.setText("登录成功")self.btnAdd.setEnabled(True)self.butDel.setEnabled(True)self.logIn = Trueelse:self.signLabel.setText("登录失败")
文章插图
登录界面
省份信息选择当省份发生改变的时候 , 会在下面市comboBox添加当前省份里市选项 , 选择市发生改变时候 , 会在下面县的comboBox添加当前市里的县 。
def proviceCb_selectionChanged(self, curText):self.cityCb.clear()if curText == "北京市":self.cityCb.addItems(["东城区", "西城区", "崇文区", "宣武区", "朝阳区", "丰台区", "海淀区", "房山区"])if curText == "浙江省":self.cityCb.addItems(["杭州市", "湖州市", "嘉兴市"])if curText == "天津市":self.cityCb.addItems(["和平区", "河东区", "河西区", "南开区", "河北区", "滨海新区", "西青区", "武清区"])if curText == "安徽省":self.cityCb.addItems(["合肥市", "芜湖市", "宣城市"])
def cityCb_selectedChanged(self, curText):self.countyCb.clear()if curText == "杭州市":self.countyCb.addItems(["上城区", "下城区", "临安区", "富阳区", "余杭区"])if curText == "湖州市":self.countyCb.addItems(["吴兴区", "南浔区"])if curText == "嘉兴市":self.countyCb.addItems(["南湖区", "秀洲区"])if curText == "合肥市":self.countyCb.addItems(["瑶海区", "蜀山区", "庐阳区", "包河区"])if curText == "芜湖市":self.countyCb.addItems(["镜湖区", "弋江区", "鸠江区", "湾沚区"])if curText == "宣城市":self.countyCb.addItems(["宣州区"])
文章插图
comboBox
添加人员信息
- 先定义一个列表 , 用来存储人员信息 。
employList = []
- 当已经登录完成 , 获取姓名、地址和电话号码等信息 , 并组成一个字典 , 添加到列表里 。
def btnAddEmp_clicked(self):if self.logIn:name = self.nameEdit.text()province = self.provinceCb.currentText()city = self.cityCb.currentText()county = self.countyCb.currentText()telnum = self.telNumber.text()empDictionary = {"name": name, "province": province, "city": city, "county": county, "telephone": telnum}self.employList.append(empDictionary)print("添加成功")print(self.employList)
- C语言开发环境
- 能超过英特尔吗?传苹果正开发新MAC芯片,M1试水后广受好评
- Java基础知识回顾,还记得吗?
- 一站式App开发平台选择指南
- API监控:你应该衡量什么?
- APP制作开发难不难?有简单快捷又省钱的方法吗?
- 微信小程序开发两万元贵吗?报价透明,按需收费,交付快
- 从编程思想到软件开发和设计能力培养
- 零基础小白入门必看篇:学习Python之面对对象基础
- 大数据专业大一新生,只有数学等基础课程,还可以自学哪些内容