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()
执行结果:
使用方法:在上面填入你想查询的城市,点击“执行”,显示该城市天气信息
程序中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:选中文本域的最后一个字符,如果没有选中区域则会引发 异常