pyqt5-下拉框联动效果
from PyQt5.Qt import * class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("")
self.resize(500,500) #后期这个字典可以从数据库中传入
self.province = {
"安徽省":["3401",{
"合肥市":"340101",
"六安市":"340102",
"阜阳市":"340103",
"芜湖市":"340104",
"滁州市":"340105",
"宣城市":"340106",
"黄山市":"340107",
"亳州市":"340108",
}],
"江苏省": ["5201", {
"南京市": "520101",
"苏州市": "520102",
"无锡市": "520103",
"常州市": "520104",
"盐城市": "520105",
"扬州市": "520106",
}],
"湖北省": ["4201", {
"武汉市": "420101",
"鄂州市": "420102",
"荆门市": "420103",
"襄阳市": "420104",
"咸宁市": "420105",
"黄冈市": "420106",
}],
} self.setup_ui() def setup_ui(self):
#1.创建省下拉框,修改一些显示尺寸(这个可以自行调节)
qcb_pro = QComboBox(self)
qcb_pro.resize(80,25)
qcb_pro.move(100,100)
self.qcb_pro = qcb_pro #3.创建市下拉选择框
qcb_city = QComboBox(self)
qcb_city.resize(80,25)
qcb_city.move(190,100)
self.qcb_city = qcb_city # 4.为下拉框绑定触发事件,currentIndexChanged信号有两个方法,指定获取int的这个方法
qcb_pro.currentIndexChanged[int].connect(self.pro_changed)
qcb_city.currentIndexChanged[int].connect(self.city_change) # 2.为省下拉框填充数据,可根据从数据库中检索出的数据,动态填充
for key, val in self.province.items():
qcb_pro.addItem(key, val[0]) def pro_changed(self,pro_idx):
#省下拉框改变,先清空市下拉框,然后添加市数据
self.qcb_city.clear()
for key,val in self.province[self.qcb_pro.currentText()][1].items():
self.qcb_city.addItem(key,val)
#同时获取省下拉框对应的data数据,这里只是简单打印
print(self.qcb_pro.itemData(pro_idx)) def city_change(self,city_idx):
#因为在省下拉框操作的时候,有一个clear方法执行,也会触发这个方法,但是由于被清空,传递过来的索引就是-1,就拿不到数据
if city_idx == -1:
pass
else:
# 同时获取市下拉框对应的data数据,这里只是简单打印
print(self.qcb_city.itemData(city_idx)) if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec())
pyqt5-下拉框联动效果的更多相关文章
- MVC 下拉框联动效果(单选)
下拉框联动效果,我们以部门--职位为例,选择部门时,关联到该部门的职位.下拉框的写法就不多说了,详细请参照前文. 视图: 其中,dept是部门的属性,deptlist是部门下拉框的属性,job是职位的 ...
- JQuery打造下拉框联动效果
做联动效果,若是用纯JavaScript来做,往往须要辅助页面保存须要刷新的结果集,然后渲染到原页面.考虑将须要动态刷新的内容自己主动拼接到前一个下拉框之后,当前一个下拉框onchange后,同级的后 ...
- Easyui多个下拉框联动效果
好久没写前端了,以前在做多级联动的时候,用的是easyui的tree结构,但是需要一次性全部加载,不是按需加载,性能不好,退而求其之,用多个下拉框做 eayui的combobox 有onSelect ...
- jquery 实现层级下拉框联动效果 代码
<select name="fCareId" id="fCareId"> <option selected="selected&qu ...
- ajax技术实现登录判断用户名是否重复以及利用xml实现二级下拉框联动,还有从数据库中获得
今天学了ajax技术,特地在此写下来作为复习. 一.什么是ajax? 客户端(特指PC浏览器)与服务器,可以在[不必刷新整个浏览器]的情况下,与服务器进行异步通讯的技术 即,AJAX是一个[局部刷新 ...
- jQuery Ajax MVC 下拉框联动
无刷新下拉框联动方法: Controllers代码 public JsonResult DH_Change(string DH_ID) { List<SelectListItem> Tea ...
- html年月日下拉联动菜单 年月日三下拉框联动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 月薪10K必备--C#下拉框联动
下拉框联动 很多网站上都用到下拉框联动,就是第一个下拉框没有选择任何项,第二个下拉框就没有选项.这样的做法更加谨慎,更加紧密. 下面我就教大家怎么做下拉框联动: 首先在窗 ...
- Ext 下拉框联动第一次显示不正常的问题
做下拉框联动,异步加载数据,第一次显示时数据不准确,不要在combo_2的下拉框直接绑定store,在combo_1的改变事件里调用下面的方法 function GetAllCustomerBrand ...
- Java Swing应用程序 JComboBox下拉框联动查询
在web项目中,通过下拉框.JQuery和ajax可以实现下拉框联动查询. 譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉 ...
随机推荐
- CCF_ 201512-3_画图
直接模拟就行了,注意坐标系方向与平常数组不一样,填充操作用深搜和广搜都可以,这里用了广搜. #include<iostream> #include<cstdio> #inclu ...
- CCF_201312-4_有趣的数
dp题,dp[i][j]代表i位数,j状态的数量.其中,j 的状态表示值有6种. 0 1 2 √ j = 0 3 01 02 √ j = 1 03 12 13 23 √ j = 2 0 ...
- 2019icpc西安邀请赛
来源:https://www.jisuanke.com/contest/2625?view=challenges 更新中 A.Tasks 直接贪心 代码:听说当时很多队伍提前拆题甚至上机了,所以很多0 ...
- Android Studio 学习笔记(三):简单控件及实例
控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...
- Head First设计模式分析学习
永不放弃的毅力,和对欲望的控制. 注意:要能够理解相类似的设计模式之间的区别和不同.可以把类比列举出来,加深记忆. 是否加入Spring容器中的标准是是否要用到Spring框架的方法或者功能特性,如事 ...
- jquery deferred 转载
阮一峰的网络日志 » 首页 » 档案 JavaScript http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquer ...
- mybaitis的延迟加载
概念:延迟加载:用到的时候才加载 因为我们在多表查询是,效率不如单表快,多个单表查询,然后使用懒加载,完成 多表关联查询 什么情况下使用懒加载 mybaitis中的表关系是一对一或者一对多的时候 我们 ...
- Java并发编程(三):ReentrantLock
ReentrantLock是可以用来代替synchronized的.ReentrantLock比synchronized更加灵活,功能上面更加丰富,性能方面自synchronized优化后两者性能没有 ...
- Linux 系统监控工具 atop
系统监控是运维工作中重要的一环,本文以 atop 工具为例来介绍系统的重要监控项. atop可以使用yum或apt包管理器进行安装.atop man page 中详细说明了 atop 中各监控项含义及 ...
- k8s集群PHP环境使用
一.环境介绍 k8s版本: 1.15.2 存储: 阿里云NAS 测试代码: wordpress 二.下载wordpress和创建好数据库等 1.下载wordpress wget https://cn. ...