tab切换页面+cookie跳过登录页面+json解析+tree Weight绑定json数据
2017-12-05 10:17
393 查看
def setupUi(self, Dialog): #信号槽--切换tab事件 self.tabWidget.currentChanged.connect(self.tabChangedSlot) def tabChangedSlot(self, argTabIndex): print(argTabIndex) ############################### if argTabIndex == 0: print('0000000000000') # 设置保存cookie的文件,同级目录下的cookie.txt filename = 'cookie.txt' # 声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件 cookie = http.cookiejar.MozillaCookieJar(filename) # 利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器 handler = urllib.request.HTTPCookieProcessor(cookie) # 通过handler来构建opener opener = urllib.request.build_opener(handler) # 创建一个请求,原理同urllib2的urlopen response = opener.open('http://********:8080/******/userLogin.action?username=***&password=***') # 保存cookie到文件 cookie.save(ignore_discard=True, ignore_expires=True) # 3)从文件中获取Cookie并访问 # 创建MozillaCookieJar实例对象 cookieRead = http.cookiejar.MozillaCookieJar() # 从文件中读取cookie内容到变量 cookieRead.load('cookie.txt', ignore_discard=True, ignore_expires=True) # 创建请求的request req = urllib.request.Request('http://******:8080/*****/***.action') # 利用urllib2的build_opener方法创建一个opener opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookieRead)) result = opener.open(req) d = result.read().decode('utf-8') # 处理中文乱码 data = json.loads(d) # 处理json字符串转化为字典 print(data) # print(data['rtStatus']) # 判断 # if data['rtStatus'] != true: return; self.treeWidget.clear() # 计算树的数量 num_rtData = 0; for aa in data['rtData']: num_rtData = num_rtData + 1; # 省级节点 for i in range(num_rtData): root = QTreeWidgetItem(self.treeWidget) print(str(data["rtData"][i]["proviceInfo"]["area_name"])) root.setText(0, str(data["rtData"][i]["proviceInfo"]["area_name"])) # 市级节点 citylist_counter = 0; for aa in data["rtData"][i]["cityList"]: citylist_counter = citylist_counter + 1; for j in range(citylist_counter): child_city = QTreeWidgetItem(root) print(str(data["rtData"][i]["cityList"][j]["cityInfo"]["area_name"])) child_city.setText(0, str(data["rtData"][i]["cityList"][j]["cityInfo"]["area_name"])) # 县级节点 arealist_counter = 0; for aa in data["rtData"][i]["cityList"][j]["areaList"]: arealist_counter = arealist_counter + 1; for k in range(arealist_counter): child_area = QTreeWidgetItem(child_city) print(str(data["rtData"][i]["cityList"][j]["areaList"][k]["areaInfo"]["area_name"])) child_area.setText(0, str(data["rtData"][i]["cityList"][j]["areaList"][k]["areaInfo"]["area_name"])) # 摄像头节点 cameraList_counter = 0; # 判断 if data["rtData"][i]["cityList"][j]["areaList"][k]["cameraList"] != None: for aa in data["rtData"][i]["cityList"][j]["areaList"][k]["cameraList"]: cameraList_counter = cameraList_counter + 1; print(cameraList_counter) if cameraList_counter != 0: for m in range(cameraList_counter): child_camera = QTreeWidgetItem(child_area) print(str(data["rtData"][i]["cityList"][j]["areaList"][k]["cameraList"][m]["name"])) child_camera.setText(0, str(data["rtData"][i]["cityList"][j]["areaList"][k]["cameraList"][m]["name"])) ############################### elif argTabIndex == 1:
相关文章推荐
- javascript应用:页面解析list和map封装后的json数据
- 页面数据以json格式传到后台并解析
- ajax演示和页面传JSON数据web端解析
- javascript:json数据的页面绑定
- web报表页面及json数据公式解析计算器
- js操作cookie,将字符串数据解析为json格式
- Unity3d-Json数据解析在登录注册本地存取的应用
- javascript:json数据的页面绑定示例代码
- TabLayout下ViewPager显示Json解析数据
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- C#将datatable生成easyui的绑定tree 的json数据格式
- C#将datatable生成easyui的绑定tree 的json数据格式
- 模拟QQ侧滑控件 实现三种界面切换效果(知识点:回调机制,解析网络json数据,fragment用法等)。
- JS-利用ajax获取json数据,并传入页面生成动态tab
- C#将datatable生成easyui的绑定tree 的json数据格式
- phpStudy4——前端页面使用Ajax请求并解析php返回的json数据
- APP开发中主页面切换的方法(登录和数据页面)
- 以淘宝详情页面Json为例使用Gson的JsonReader解析复杂Json数据详解
- JS解析Json 数据并跳转到一个新页面,取消A 标签跳转
- javascript:json数据的页面绑定示例代码