1 """

 该python小例子考察使用了tkinter库,requests库

 其中:
requests库用来发送网络请求
thkinter用来显示图形化界面 请求的天气地址如下:http://wthrcdn.etouch.cn/weather_mini?city=长春 本例子用到了tkinter中的 Entry(单行文本框) Text(多行文本框)和 Button """ from tkinter import *
import requests root = Tk()
root.title('城市天气显示') #窗体名称显示
root.geometry('500x400') #设置窗体大小 #Entry创建单行文本 var = StringVar() #输入框变量
e = Entry(root, textvariable = var) #绑定变量
# city = var.get()
e.pack() #单行文本框显示出来 #定义个多行文本框
t = Text()
t.pack() def getweather(): city = var.get() #用来获得单行文本框输入的内容
url = 'http://wthrcdn.etouch.cn/weather_mini?city='
response = requests.get(url+city)
data = response.json()['data']['forecast'][0]
# {'date': '6日星期三', 'fengxiang': '西风', 'high': '高温 25℃', 'fengli': '<![CDATA[<3级]]>', 'type': '晴', 'low': '低温 13℃'}
s= '%s :%s, %s' % (city, data['low'], data['high'])
t.insert('1.0', s+'\n') #在多行文本框中插入获取的天气内容 #按钮 command参数等于要执行的函数,在这里我们要获取天气
Button(root,text='执行', command = getweather).pack()
root.mainloop()

执行结果:

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

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

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

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

其中参考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:选中文本域的最后一个字符,如果没有选中区域则会引发 异常

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

05-11 22:23