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)
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 谷歌建立新AI系统 可开发甜品配方
- “全能神”开发谷歌应用APP传播邪教教义
- 联想正开发下一代ThinkReality智能眼镜
- Apple Glass正进入第二开发阶段 目标成品重量轻 续航长
- 运动计数开发项目的对抗赛:飞算全自动软件工程平台碾压传统模式
- 程序员为教师妻子开发应用:将iPhone变成文档摄像头
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 市科委与联影集团联合首设“探索者计划”,共推基础及应用基础研究
- 人脸识别设备主板如何选型 软硬整合大幅缩短开发时间
