用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 ...
随机推荐
- RT-thread内核之线程内核对象
在RT-Thread实时操作系统中,任务采用了线程来实现,线程是RT-Thread中最基本的调度单位,它描述了一个任务执行的上下文关系,也描述了这个任务所处的优先等级.重要的任务能拥有相对较高的优先级 ...
- 【bzoj1076】[SCOI2008]奖励关 期望dp+状态压缩dp
题目描述 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再 ...
- hdu 1142 A Walk Through the Forest (最短路径)
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- Java的第一个程序-Hello, World !
学了一个月的Java,现在总结一下,就算复习了. 一.安装Java环境 这个没啥好说的. 1. 官网下载JDK安装 2. 配置环境变量.注意的是:环境变量配置好以后,如果cmd中运行 java 命令没 ...
- 【题解】CF#285 E-Positions in Permutations
挺有收获的一道题ヾ(◍°∇°◍)ノ゙ 恰好为 m ,这个限制仿佛不是很好处理.一般而言,我所了解的恰好为 k 的条件,不是用组合数 / dp状态转移 / 斜率二分就只剩下容斥了.我们可以先处理出 nu ...
- Android ListView的优化
最近的项目中有通讯录这个模块,里面的通讯录涉及的联系人数量很大,导致在加载页面的时候有点卡,所以就必须得进行优化,优化的最终实现理论是什么?就是让ListView一次性加载的数据较少,后续根据用户操作 ...
- HDOJ.1029 Ignatius and the Princess IV(map)
Ignatius and the Princess IV 点我跳转到题面 点我一起学习STL-MAP 题意分析 给出一个奇数n,下面有n个数,找出下面数字中出现次数大于(n+1)/2的数字,并输出. ...
- 2-SAT入门
大概学了一下2-SAT,写了一道模板和一道USACO 输出一个方案的话,tarjan缩点后倒着拓扑,染色输出. 求任何解下选哪个就得枚举每个点dfs来判断选哪个. HIT 1917(2-sat模板) ...
- [NOIP 2017]棋盘
题目描述 有一个 m×m 的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向 ...
- OLTP与OLAP比较【转】
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical ...