Python实战 -- PySide6 制作天气查询软件

一、环境准备

开发环境:Python 3.9.2 pycharm PySide6

申请天气情况 API :https://console.amap.com/dev/key/app
在这里插入图片描述

designer 设计

ui 目录下 Weather.ui 转换为 Weather.py
在这里插入图片描述

结果显示

在这里插入图片描述

二、完整代码

import sysfrom PySide6 import QtWidgetsimport ui.Weatherfrom PySide6.QtWidgets import QApplication, QDialogimport requestsclass Dialog(QtWidgets.QDialog):def __init__(self):super(Dialog, self).__init__()self.clearBtn = Noneself.myDlg = ui.Weather.Ui_Dialog()self.myDlg.setupUi(self)def queryWeather(self):cityName = self.myDlg.comboBox.currentText()cityCode = self.getCode(cityName)r = requests.get("https://restapi.amap.com/v3/weather/weatherInfo?key=6778d1f26467c63988b2a037903bbb21&city={}".format(cityCode))# r.encoding = 'utf-8'if r.status_code == 200:data = r.json()['lives'][0]weatherMsg = '城市:{}\n天气:{}\n温度:{}\n风向:{}\n风力:{}\n湿度:{}\n发布时间:{}\n'.format(data['city'],data['weather'],data['temperature'],data['winddirection'],data['windpower'],data['humidity'],data['reporttime'],)else:weatherMsg = '天气查询失败,请稍后再试!'self.myDlg.textEdit.setText(weatherMsg)def getCode(self, cityName):cityDict = {"陕西": "610000","北京": "110000","苏州": "320500","上海": "310000"}return cityDict.get(cityName, '101010100')def clearText(self):self.myDlg.textEdit.clear()if __name__ == '__main__':myapp = QApplication(sys.argv)myDlg = Dialog()myDlg.show()myDlg.exec()

三、参考

https://zhuanlan.zhihu.com/p/60815507
链接:https://pan.baidu.com/s/15NOyb8FqPwuJVerRtsgzww
提取码:kwk4

https://zhuanlan.zhihu.com/p/446137829

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/410983.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】Docker基础教程

🦖我是Sam9029,一个前端 🐱‍🐉🐱‍🐉恭喜你,若此文你认为写的不错,不要吝啬你的赞扬,求收藏,求评论,求一个大大的赞!👍 基…

unity SqLite读取行和列

项目文件 链接:https://pan.baidu.com/s/1BabHvQ-y0kX_w15r7UvIGQ 提取码:emsg –来自百度网盘超级会员V6的分享 using System.Collections; using System.Collections.Generic; using UnityEngine; using Mono.Data.Sqlite; using System; using Syste…

华为设备VRRP配置

核心代码: 需要对所有虚拟路由器设置(要进入到对应的端口) vrrp vrid 38 virtual-ip 192.168.10.254 vrrp vrid 38 priority 120 vrrp vrid 38 track int g0/0/1 reduced 30①mac由vrid生成 ②指定虚拟ip ③虚拟ip作为内部主机的网关&#x…

c语言嵌套循环

c语言嵌套循环 c语言嵌套循环 c语言嵌套循环一、c语言嵌套循环格式二、嵌套循环案例九九惩罚口诀 一、c语言嵌套循环格式 for(初始值;表达式;表达式) {for(初始值;表达式;表达式){代码} }int main() {for (…

2023年的年度总结PPT不一样了?

添加图片注释,不超过 140 字(可选) 到了年终,需要撰写年度总结和制定计划了吗? 找不到合适的 PPT 模板? 感到缺乏灵感? 为做 PPT 绞尽脑汁? 为何不试试 AI 写 PPT 呢&#xff1f…

【SpringBoot篇】添加富文本编辑器操作

文章目录 &#x1f354;使用步骤⭐首先我们需要安装富文本编辑器⭐在<script>中引入富文本编辑器⭐富文本图片上传接口⭐初始化富文本编辑器⭐调用 初始化富文本编辑器的方法&#x1f388;新增&#x1f388;编辑&#x1f388;保存 ⭐添加按钮⭐实现viewEditor函数&#x…

VSCODE使用CMAKE显示命令无法找到

背景&#xff1a;使用了code server&#xff0c;安装CMAKE和CMAKE TOOLS&#xff0c;但是通过ctrlshiftp打开命令面板&#xff0c;运行随便一个cmake指令&#xff0c;都出现了指令无法找到。具体为“命令"CMake: 配置"导致错误 (command ‘cmake.configure’ not fou…

【Redis】AOF 源码

在上篇, 我们已经从使用 / 机制 / AOF 过程中涉及的辅助功能等方面简单了解了 Redis AOF。 这篇将从源码的形式, 进行深入的了解。 1 Redis 整个 AOF 主要功能 Redis 的 AOF 功能概括起来就 2 个功能 AOF 同步: 将客户端发送的变更命令, 保存到 AOF 文件中AOF 重写: 随着 Red…

运维平台介绍:视频智能运维平台的视频质量诊断分析和监控中心

目 录 一、概述 二、框架图 1、图像过亮检测&#xff1a; 2、图像模糊检测&#xff1a; 3、画面冻结检测&#xff1a; 4、信号缺失检测&#xff1a; 5、图像偏色检测&#xff1a; 6、噪声干扰检测&#xff1a; 7、条纹干扰检测&#xff1a; 三、监控中心模…

【JVM】JVM概述

JVM概述 基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;即 Java 虚拟机&#xff0c;一种规范&#xff0c;本身是一个虚拟计算机&#xff0c;直接和操作系统进行交互&#xff0c;与硬件不直接交互&#xff0c;而操作系统可以帮我们完成和硬件进行交互的工作特…

常见的设计模式(模板与方法,观察者模式,策略模式)

前言 随着时间的推移&#xff0c;软件代码越来越庞大&#xff0c;随着而来的就是如何维护日趋庞大的软件系统。在面向对象开发出现之前&#xff0c;使用的是面向过程开发来设计大型的软件程序&#xff0c;面向过程开发将软件分成一个个单独的模块&#xff0c;模块之间使用函数…

蓝桥杯每日一题----货物摆放

题目 分析 上来一看&#xff0c;三个for循环&#xff0c;从1到n&#xff0c;寻找满足lwhn的个数&#xff0c;但是这样根本跑不出来答案&#xff0c;n太大了&#xff0c;1e15的级别&#xff0c;O&#xff08;n&#xff09;的时间复杂度都不行&#xff0c;更何况是O&#xff08;…