python3.5 使用tkinter 和requests库实现天气图像化显示


1
""" 2 3 该python小例子考察使用了tkinter库,requests库 4 5 其中: 6 requests库用来发送网络请求 7 thkinter用来显示图形化界面 8 9 请求的天气地址如下:http://wthrcdn.etouch.cn/weather_mini?city=长春 10 11 本例子用到了tkinter中的 Entry(单行文本框) Text(多行文本框)和 Button 12 13 """ 14 15 from tkinter import * 16 import requests 17 18 root = Tk() 19 root.title('城市天气显示') #窗体名称显示 20 root.geometry('500x400') #设置窗体大小 21 22 #Entry创建单行文本 23 24 var = StringVar() #输入框变量 25 e = Entry(root, textvariable = var) #绑定变量 26 # city = var.get() 27 e.pack() #单行文本框显示出来 28 29 30 #定义个多行文本框 31 t = Text() 32 t.pack() 33 34 35 def getweather(): 36 37 city = var.get() #用来获得单行文本框输入的内容 38 url = 'http://wthrcdn.etouch.cn/weather_mini?city=' 39 response = requests.get(url+city) 40 data = response.json()['data']['forecast'][0] 41 # {'date': '6日星期三', 'fengxiang': '西风', 'high': '高温 25℃', 'fengli': '<![CDATA[<3级]]>', 'type': '晴', 'low': '低温 13℃'} 42 s= '%s :%s, %s' % (city, data['low'], data['high']) 43 t.insert('1.0', s+'\n') #在多行文本框中插入获取的天气内容 44 45 46 #按钮 command参数等于要执行的函数,在这里我们要获取天气 47 Button(root,text='执行', command = getweather).pack() 48 root.mainloop()

 

 

执行结果:

使用方法:在上面填入你想查询的城市,点击“执行”,显示该城市天气信息

 

 

 

 

程序中response.json()返回的json数据:

 

 

其中参考tkinter博客链接:http://www.cnblogs.com/kaituorensheng/p/3287652.html

 Entry

说明

  创建单行文本框

用法

  •   创建:lb =Entry(根对象, [属性列表])
  •   绑定变量 var=StringVar()    lb=Entry(根对象, textvariable = var)
  •   获取文本框中的值   var.get()
  •   设置文本框中的值   var.set(item1)

Text

说明

  向该空间内输入文本

用法

  t = Text(根对象)

  插入:t.insert(mark, 内容)

  删除:t.delete(mark1, mark2)

  其中,mark可以是行号,或者特殊标识,例如

  • INSERT:光标的插入点CURRENT:鼠标的当前位置所对应的字符位置
  • END:这个Textbuffer的最后一个字符
  • SEL_FIRST:选中文本域的第一个字符,如果没有选中区域则会引发异常
  • SEL_LAST:选中文本域的最后一个字符,如果没有选中区域则会引发 异常

执行结果

posted @ 2017-09-06 16:40  我要成为女技术宅  阅读(1043)  评论(0编辑  收藏  举报