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可以实现下拉框联动查询. 譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉 ...
随机推荐
- 2019icpc西安邀请赛
来源:https://www.jisuanke.com/contest/2625?view=challenges 更新中 A.Tasks 直接贪心 代码:听说当时很多队伍提前拆题甚至上机了,所以很多0 ...
- Codeforces 1065C Make It Equal (差分+贪心)
题意:n个塔,第i个塔由$h_i$个cube组成,每次可以切去某高度h以上的最多k个cube,问你最少切多少次,可以让所有塔高度相等 k>=n, n<=2e5 思路:差分统计每个高度i有的 ...
- Go语言实现:【剑指offer】第一个只出现一次的字符位置
该题目来源于牛客网<剑指offer>专题. 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1( ...
- Python3(十) 函数式编程: 匿名函数、高阶函数、装饰器
一.匿名函数 1.定义:定义函数的时候不需要定义函数名 2.具体例子: #普通函数 def add(x,y): return x + y #匿名函数 lambda x,y: x + y 调用匿名函数: ...
- 开源堡垒机jumpserver的安装
开源跳板机jumpserver安装 简介 Jumpserver 是全球首款完全开源的堡垒机, 使用GNU GPL v2.0 开源协议, 是符合4A 的专业运维审计系统 Jumpserver 使用Pyt ...
- Linux设备中的UUID
UUID简介 UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的.如果你在系统中启动的时候,使用盘符挂载时,可能找不到设备而加载失败,而使用UUID挂载时,则不会有这样的问题.( ...
- 软件bug描述(android)
1.bug主题:主要操作+bug主题 主题要简单明了,即开发一看主题就知道该问题. 2.描述: 作用:便于开发重现和定位缺陷的 2.1前置条件 2.2操作步骤 2.3预期结果 2.4实际结果 2.5备 ...
- redis系列-开篇
0x0 缘起 笔者所在的公司有一款大DAU(日活)的休闲游戏.这款游戏的后端架构很简单,可以简单理解为通讯-逻辑-存储三层结构.其中存储层大量使用了redis和mysql. 虽然存量用户的增加,red ...
- Python 实现转堆排序算法原理及时间复杂度(多图解释)
原创文章出自公众号:「码农富哥」,欢迎转载和关注,如转载请注明出处! 堆基本概念 堆排序是一个很重要的排序算法,它是高效率的排序算法,复杂度是O(nlogn),堆排序不仅是面试进场考的重点,而且在很多 ...
- 深入源码分析SpringMVC执行过程
本文主要讲解 SpringMVC 执行过程,并针对相关源码进行解析. 首先,让我们从 Spring MVC 的四大组件:前端控制器(DispatcherServlet).处理器映射器(HandlerM ...