首页 > 其他分享 >QT5气象例子

QT5气象例子

时间:2024-02-04 14:23:13浏览次数:26  
标签:__ cityCode QT5 self cityName json 例子 rep 气象

天气预报:

'''
项目实战:天气信息查询

'''

import sys     
from PyQt5.QtWidgets import QApplication , QMainWindow
from WeatherWin import Ui_Form
import requests

class MainWindow(QMainWindow ):
    def __init__(self, parent=None):    
        super(MainWindow, self).__init__(parent)
        self.ui = Ui_Form()
        self.ui.setupUi(self)
         
    def queryWeather(self):
        cityName = self.ui.weatherComboBox.currentText()
        cityCode = self.transCityName(cityName)

        rep = requests.get('http://www.weather.com.cn/data/sk/' + cityCode + '.html')
        rep.encoding = 'utf-8'
        print( rep.json() ) 
        
        msg1 = '城市: %s' % rep.json()['weatherinfo']['city'] + '\n'
        msg2 = '风向: %s' % rep.json()['weatherinfo']['WD'] + '\n'
        msg3 = '温度: %s' % rep.json()['weatherinfo']['temp'] + ' 度' + '\n'
        msg4 = '风力: %s' % rep.json()['weatherinfo']['WS'] + '\n'
        msg5 = '湿度: %s' % rep.json()['weatherinfo']['SD'] + '\n'
        result = msg1 + msg2 + msg3 + msg4 + msg5
        self.ui.resultText.setText(result)
        
    def transCityName(self ,cityName):
        cityCode = ''
        if cityName == '北京' :
            cityCode = '101010100'
        elif cityName == '天津' :
            cityCode = '101030100'
        elif cityName == '上海' :
            cityCode = '101020100'
            
        return cityCode
                
    def clearResult(self):
        print('* clearResult  ')
        self.ui.resultText.clear()    
        
if __name__=="__main__":  
    app = QApplication(sys.argv)  
    win = MainWindow()  
    win.show()  
    sys.exit(app.exec_())  
View Code

 

标签:__,cityCode,QT5,self,cityName,json,例子,rep,气象
From: https://www.cnblogs.com/shiningleo007/p/18006102

相关文章

  • GCC使用具体教程以及例子
    编译第一个C程序#include<stdio.h>intmain(void){printf("helloworld!\n");return0;}使用gcc命令将hello.c编译成可执行程序a.out,并运行: 将源文件hello.c编译为一个指定名称的可执行文件:hello,可以通过gcc-o参数来完成GCC编译过程分析 以demo.c为......
  • PyQt5+python AttributeError: 'QMainWindow' object has no attribute 'slot1'解决办
    Step1.原因分析因为以前写过pyqt5,所以还是有一定的基础的,但是最近重新写上位机的时候,突然发现以前的办法不好用了,以前就是直接从Qtdesigner创建完成后,使用指令生成一个py文件,从main文件中调用就可以了,这次发现,直接使用槽函数,会报错AttributeError:'QMainWindow'objec......
  • 在C#中,你可以在两个嵌套的`for`循环中同时使用变量`i`,但是你需要确保每个循环中的`i`
    在C#中,你可以在两个嵌套的for循环中同时使用变量i,但是你需要确保每个循环中的i都被正确地初始化和更新。这是一个例子:for(inti=0;i<5;i++){for(inti=0;i<5;i++){//在这里执行你的代码}}在这个例子中,外部循环和内部循环都有自己的i变量,......
  • UniGUI使用ADO组件、调用数据库的存储过程、生成EXECL表的例子
    UniGUI使用ADO组件、调用数据库的存储过程、生成EXECL表的例子(自己学习记录一下,不一定合理,仅供参考)本例子是使用ADO等组件连接一个云服务器的一个数据库,调用GetOrg存储过程,把机构信息展现把结果导出的一个EXECL表里,并下载把显示的HSate的值进行替换1表示正常,其他表示暂停......
  • Qt异形窗口例子
    这个原理简单,就是调用QWidget::setMask(...)设置窗口的掩膜实现异形窗口。下面的代码环境是VS2015和Qt5.9。其运行效果图如下,就是下图中显示“显示气球控件”文本的窗口:头文件:classMBalloonTip:publicQWidget{Q_OBJECTpublic:staticvoidshowText(constQPo......
  • 使用 PyQt5(PySide2)+SQLAlchemy 做一个登录注册页(一)
    使用PyQt5(PySide2)+SQLAlchemy做一个登录注册页(一)本文将介绍自己用PyQt5+SQLAlchemy做的一个登录注册页,使用邮箱接收验证码,本文介绍是前后端未分离的实现方式,后续将出一个前后端分离的,你可以将PyQt5改为PySide2以获得更宽松的开源协议本文由于涉及到的代码较多,将会是......
  • [-001-]-Python语言的GUI编程工具包之PyQt5初步认识
    一、PyQt5的QtWidgets介绍PyQt5的QtWidgets模块包含了很多类,用于创建GUI应用程序的各种控件和窗口部件。其中一些主要的类包括:QApplication:应用程序类,负责管理应用程序的控制流程和事件循环QMainWindow:主窗口类,提供了一个应用程序的主界面QWidget:窗口部件类,是所有用户界面......
  • TUniDBGrid控件之Summary例子
    TUniDBGrid控件之Summary例子(记录一下,方便以后备查)在这个例子中,主要用到TUniDBGrid、TClientDataSet和TDataSource三个控件。本文除去介绍使用TUniDBGrid控件之Summary外,TClientDataSet使用FieldDefs用于自定义的字段名表(即:不使用dataprovider)参考:Delphi中ClientDataSet的用......
  • 既可以通过从层次结构更高层组件(如 FilterableProductTable)开始“自上而下”构建,也可
    既可以通过从层次结构更高层组件(如FilterableProductTable)开始“自上而下”构建,也可以通过从更低层级组件(如ProductRow)“自下而上”进行构建。在简单的例子中,自上而下构建通常更简单;而在大型项目中,自下而上构建更简单。为什么这么说呢?合理吗?在构建React应用时,"自上而下"(Top-Do......
  • 一个例子形象地理解同步与异步
    请看一个示例:同步方式请求接口请求一次接口耗时大约100多毫秒代码一个for循环,循环500次,调用方法Request,Request方法中一个while(true)无限循环,同步方式请求url获取数据。代码点评:要是写一个while(true)没问题,这是想运行500个while(true),这代码是错误的,行不通。应该使用Thread或者T......