温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python脚本制作天气查询功能

发布时间:2021-08-06 17:10:34 来源:亿速云 阅读:135 作者:chen 栏目:编程语言

这篇文章主要介绍“怎么用Python脚本制作天气查询功能”,在日常操作中,相信很多人在怎么用Python脚本制作天气查询功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python脚本制作天气查询功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

获取天气的主要代码如下:

# cityCode 替换为具体某一个城市的对应编号
# 1、发送请求,获取数据
url = f'http://wthrcdn.etouch.cn/weather_mini?citykey={cityCode}'
res = requests.get(url)
res.encoding = 'utf-8'
res_json = res.json()
 
# 2、数据格式化
data = res_json['data']
city = f"城市:{data['city']}\n"  
# 字符串格式化的一种方式 f"{}" 通过字典传递值
 
today = data['forecast'][0]
date = f"日期:{today['date']}\n"  # \n 换行
now = f"实时温度:{data['wendu']}度\n"
temperature = f"温度:{today['high']} {today['low']}\n"
fengxiang = f"风向:{today['fengxiang']}\n"
type = f"天气:{today['type']}\n"
tips = f"贴士:{data['ganmao']}\n"
 
result = city + date + now + temperature + fengxiang + type + tips
 
print(result)

1、使用Qt Designer绘制窗口,保存为ui文件

2、把ui文件转为py文件

(1)在生成的ui文件目录下,打开cmd

(2)输入以下命令(注意替换名称)

pyuic5 -o destination.py source.ui

3、信号与槽函数的连接

# 1、清空按钮与对应函数连接
clearBtn.clicked.connect(widget.clearResult)
 
# 2、查询按钮与对应函数连接
queryBtn.clicked.connect(widget.queryWeather)

4、调用主窗口类

import sys     
from PyQt5.QtWidgets import QApplication , QMainWindow
from WeatherWin import Ui_widget
import requests
import json
 
class MainWindow(QMainWindow ):
    def __init__(self, parent=None):    
        super(MainWindow, self).__init__(parent)
        self.ui = Ui_widget()
        self.ui.setupUi(self)
 
        # 通过文本框传入想要搜索的城市名称:天津
        cityName = self.ui.weatherComboBox.currentText()
 
        # 获取天气部分省略
 
        # 在文本框显示查询结果
        self.ui.resultText.setText(result)
 
    def clearResult(self):
        print('* clearResult  ')
        self.ui.resultText.clear()  
 
if __name__=="__main__":  
    app = QApplication(sys.argv)  
    win = MainWindow()  
    win.show()  
    sys.exit(app.exec_())

到此,关于“怎么用Python脚本制作天气查询功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI