python_天气查询小程序_1

用python写一个能查询各地天气的程序,界面用的是pyqt库。

 1 from PyQt5.Qt import *
 2 import sys
 3 import json
 4 from requests_html import HTMLSession
 5 filename='城市代码.json'
 6 with open(filename) as f:
 7     zidian=json.load(f)
 8     print(zidian)
 9 app=QApplication(sys.argv)
10 window=QWidget()
11 window.resize(800,600)
12 window.setWindowTitle('天气预报')
13 chengshi=QLabel(window)
14 chengshi.move(100,40)
15 chengshi.setText('城市:')
16 chengshi.setStyleSheet('font-size:40px')
17 shuru=QLineEdit('北京',window)
18 shuru.move(220,40)
19 shuru.resize(200,45)
20 shuru.setStyleSheet('font-size:40px')
21 btn=QPushButton(window)
22 btn.move(440,38)
23 btn.setText('查询')
24 btn.setStyleSheet('font-size:35px')
25 xianshi=QLabel(window)
26 xianshi.setStyleSheet('font-size:35px;background-color:cyan')
27 xianshi.setText('')
28 xianshi.move(50,150)
29 xianshi.resize(700,80)
30 xianshi2=QLabel(window)
31 xianshi2.setStyleSheet('font-size:35px;background-color:pink')
32 xianshi2.setText('')
33 xianshi2.move(50,250)
34 xianshi2.resize(700,80)
35 xianshi3=QLabel(window)
36 xianshi3.setStyleSheet('font-size:35px;background-color:silver')
37 xianshi3.setText('')
38 xianshi3.move(50,350)
39 xianshi3.resize(700,80)
40 xianshi4=QLabel(window)
41 xianshi4.setStyleSheet('font-size:35px;background-color:orange')
42 xianshi4.setText('')
43 xianshi4.move(50,450)
44 xianshi4.resize(700,80)
45 def cao():
46     a=shuru.text()
47     b=zidian[a]
48     url='http://www.weather.com.cn/weather/'+b+'.shtml'
49     session=HTMLSession()
50     r=session.get(url)
51     list1=r.html.find('ul.t.clearfix')
52     list2=list1[0].text
53     list3=list2.split('
')
54     tq=[0]
55     tqq=[0]
56     for i in range(0, 7):
57         for j in range(0, 4):
58             k = i * 4
59             if j == 0:
60                 tq = list3[k + j]
61             else:
62                 tq = tq + list3[k + j]
63         tqq.append(tq)
64     print(tqq)
65     xianshi.setText(tqq[1])
66     xianshi2.setText(tqq[2])
67     xianshi3.setText(tqq[3])
68     xianshi4.setText(tqq[4])
69 btn.clicked.connect(cao)
70 window.show()
71 sys.exit(app.exec_())

原文地址:https://www.cnblogs.com/winterbear/p/12384441.html