用tkinter实现的gui小工具
import tkinter
import requests
import json
from tkinter import * class FindLocation(object):
def __init__(self): # 创建主窗口,用于容纳其它组件
self.root = tkinter.Tk()
# 给主窗口设置标题内容
self.root.title("天气预报查询") # 创建一个输入框,并设置尺寸
self.city_input = tkinter.Entry(self.root,width=50)
self.city_input.grid(row=0,column=0) # 创建一个查询结果的按钮
self.result_button = tkinter.Button(self.root, command = self.find_position, text = "查询",bg='black',fg='white')
self.result_button.grid(row=0,column=1)
#清除按钮
self.clear = tkinter.Button(self.root,text="清除",command=self.inputclear,bg='black',fg='white')
self.clear.grid(row=0,column=2)
# 创建一个回显列表
self.display_info = tkinter.Listbox(self.root, width=50)
self.display_info.grid(row=1)
self.root.mainloop() def inputclear(self): self.city_input.delete(0,END) def gui_arrang(self):
"此方法暂时不用,和界面布局冲突"
self.cityLabel.pack()
self.city_input.pack()
self.result_button.pack()
self.display_info.pack()
self.clear.pack() def find_position(self):
self.city = self.city_input.get()
url = 'http://www.sojson.com/open/api/weather/json.shtml?city='+self.city
headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0","Accept-Language":"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"} r = requests.get(url,headers = headers)
json = r.json()
try: date=json["date"] #今日日期
ganmao=json["data"]["ganmao"] #防感冒建议
high=json["data"]["forecast"][0]["high"] #最高温度
low=json["data"]["forecast"][0]["low"] #最低温度
types=json["data"]["forecast"][0]["type"] #天气类型
notice=json["data"]["forecast"][0]["notice"] #注意事项 the_weather_info = ["日期:"+str(date),"生活建议:"+str(ganmao),str(high),str(low), "天气类型:"+str(types), "注意事项:"+str(notice)]
except:
the_weather_info = ["如果您输入的城市无误,请稍后刷新!"] #清空回显列表可见部分,类似clear命令
for item in range(10):
self.display_info.insert(0,"") # 为回显列表赋值
for item in the_weather_info:
self.display_info.insert(0,item)
# 这里的返回值,没啥用,就是为了好看
#return the_weather_info def main():
# 初始化对象
FL = FindLocation()
#FL.gui_arrang()
# 主程序执行
#FL.mainloop()
pass if __name__ == "__main__":
main()
用tkinter实现的gui小工具的更多相关文章
- autoit获取ie浏览器简单操作网页(GUI小工具)
需要稍稍熟悉一下autoti提供的语言, 我简单做了一个带GUI的小工具,实现根据IE标题点击页面内的LinkText 注意:使用时IE窗口是显示状态才可以获取到(可以在脚本中加入搜索IE句柄,将ie ...
- 删除UTF-8 BOM头的GUI小工具
经常看到PHP群里有人因为UTF-8的BOM头出现这样那样的问题,给出的一个PHP删除BOM头的程序,新手也不会用,所以用wxpython写了一 个GUI,直接选择文件夹路径,就可以将该文件夹下所有指 ...
- Python+Tkinter 密保小工具
上图 代码 核心 编解码方面 Tkinter界面更新 总结 昨天被一同学告知,网上的一个QQ密码库中有我的一条记录,当时我就震惊了,赶紧换了密码.当然了,这件事也给了我一个警示,那就是定期的更换自己的 ...
- python tkinter模块小工具界面
代码 #-*-coding:utf-8-*- import os from tkinter import * root=Tk() root.title('小工具') #清空文本框内容 def clea ...
- 【python】【开源】使用Tkinter和matplotlib实时显示图像,打造属于自己的性能测试小工具
在腾讯的perfdog工具还未公开时,当时需要查看内存使用情况等信息,就用python写了个小工具 为了提升开发效率,就直接借用了雷子开源的性能测试工具的布局,自己美化了一下,然后加入了实时显示数据的 ...
- 自己动手写一个U盘拷贝小工具
这是五一期间,参照知乎上一篇的文章<十行代码--用python写一个USB病毒>写成的,最初只是单纯的想写成死循环,直到文件占满硬盘为止,第一个遇到的问题是,拷贝到硬盘之后,由于要无限次拷 ...
- 用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名
生活中有很多场景都需要我们签字(签名),如果是一些不重要的场景,我们的签名好坏基本无所谓了,但如果是一些比较重要的场景,如果我们的签名比较差的话,就有可能给别人留下不太好的印象了,俗话说字如其人嘛,本 ...
- 利用 Python 写一个颜值测试小工具
我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...
- 几款Git GUI客户端工具
工欲善其事,必先利其器. 作为一名开发人员,你不可能不知道git,无论你是开发自己的开源项目还是和团队一起进行大规模产品的开发,git都已经是源代码管理工具的首选.当然,那些hardcore deve ...
随机推荐
- 【Python】Python中*args 和**kwargs的用法
好久没有学习Python了,应为工作的需要,再次拾起python,唤起记忆. 当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值. 还是 ...
- Qt信号与槽机制
一.信号和槽机制 信号和槽用于两个对象之间的通信,信号和槽机制是Qt的核心特征,也是Qt不同于其他开发框架的最突出的特征.在GUI编程中,当改变了一个部件时,总希望其他部件也能了解到该变化.更一般来说 ...
- RT-thread内核之消息队列
一.消息队列控制块:在include/rtdef.h中 #ifdef RT_USING_MESSAGEQUEUE /** * message queue structure */ struct rt_ ...
- 只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
- HUAS 1476 不等数列(DP)
考虑DP. 如果把转移看出当前位填什么数的话,这样是有后效性的. 如果考虑当前的序列是将1至n依次插入序列中的话. 考虑将i插入1到i-1的序列中,如果插入到<号中或者首部,那么最后就会多出一个 ...
- bzoj1835[ZJOI2010]基站选址
主席树+决策单调,重写一遍比之前短多了……题解:http://www.cnblogs.com/liu-runda/p/6051422.html #include<cstdio> #incl ...
- POJ1279:Art Gallery——题解
http://poj.org/problem?id=1279 题目大意:给按照顺时针序的多边形顶点,问其内核可行区域面积. —————————————————————————————— 终于变了一点… ...
- select和epoll概念
关于linux的I/O复用接口select和epoll,下列说法错误的是() select调用时会进行线性遍历,epoll采用回调函数机制,不需要线性遍历 select的最大连接数为FD_SETSIZ ...
- FreeRTOS ------ 栈、堆、任务栈
1.任务的栈资源(创建任务分配的资源,单位是4字节)来自 configTOTAL_HEAP_SIZE 定义的堆,如果任务栈总量超过 configTOTAL_HEAP_SIZE,任务创建失败: 2.如果 ...
- SoC时钟系统简介
1.SoC的时钟获得一般有: * 外部直接输入时钟信号,SoC有个引脚用来输入外部时钟信号,用的很少. * 外部晶振+内部时钟发生器产生时钟,大部分低频单片机都是这么工作的. * 外部晶振+内部时钟发 ...