之前在学习 Python 的时候就很是苦恼如何用 python 来做界面开发,感觉好像 Python 在这方面是个短板,当时书上的使用的界面开发模块是 wxPython ,我当时看着书上密密麻麻的代码,就感觉头疼的厉害,瞬间感觉很是无力,直到有一天无意在一个公众号上看到了 PySimpleGUI 这个专门用来开发 GUI 界面的模块,而且完全基于 Python 语言,代码理解起来也很简单,但现在目前百度或者谷歌搜索相关的使用教程少之又少,有也不是很是全面,谷歌的时候搜到了一个大佬写的关于其的使用方法,感觉挺好。
中文文档教程 (真心看不懂哇)
以下是我根据大佬分享的内容测试的该模块的 GUI 开发代码,瞬间感觉用 Python 做毕设界面有望,整体的简单的框架加上注释很容易就可以看懂:
def get_weather(city,key):
r = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=' + city)
text = json.loads(r.text)
dict = text['data']['forecast'][0]
result = dict[str(key)]
return result
if __name__ == '__main__':
# 让所有文本居中
sg.SetOptions(text_justification='center')
# 整体的布局是从上而下,同一列表中为从左往右
# 创建视图窗口,用二维列表 list 表示,用来存放组件
# Text , Input 等是PySimpleGUI中的类
layout = [
# key 值代表了是这个输入框输入的值,以字典的 键 值来表示,这个用于找到输入框并跟新它的值
[sg.Text('城市', size=(20, 1)), sg.Input(key='CITY')],
[sg.Text('日期', size=(20, 1)), sg.Input(key='DATE')],
[sg.Text('最高气温', size=(20, 1)), sg.Input(key='HIGH')],
[sg.Text('风力', size=(20, 1)), sg.Input(key='FENGLI')],
[sg.Text('最低气温', size=(20, 1)), sg.Input(key='LOW')],
[sg.Text('风向', size=(20, 1)), sg.Input(key='FENGXIANG')],
[sg.Text('天气', size=(20, 1)), sg.Input(key='TYPE')],
[sg.Button('搜索')]
]
# 创建窗口,将视窗放在窗口中 ‘天气小助手’为窗口的名字
window = sg.Window('天气小助手', layout)
# 获取输入框和按钮元素的值
event, values = window.read()
# 得到城市这个输入框的值
city = values['CITY']
#以下六行代码均根据 key 值进行定位输入框
date = get_weather(city,'date')
high = get_weather(city,'high')
fengli = get_weather(city,'fengli')
low = get_weather(city,'low')
fengxiang = get_weather(city,'fengxiang')
type = get_weather(city,'type')
#更新输入框中的值
weather_date = window['DATE'].update(date)
weather_high = window['HIGH'].update(high)
weather_fengli = window['FENGLI'].update(fengli)
weather_low = window['LOW'].update(low)
weather_fengxiang = window['FENGXIANG'].update(fengxiang)
weather_type = window['TYPE'].update(type)
# # 找到天气输入框
# weather_wind = window['TYPE']
# # 将天气更新到输入框
# weather_wind.update(type)
# 显示窗口
window.read()
window.close()
是不是真的很简单哈,没有 wxpython 那样看起来很时复杂,是不是一看就懂😁
界面展示:
在城市的输入框中输入你想查询的天气城市:
点击搜索结果后的结果:
希望看到的朋友们要是有关于 PySimpleGUI 模块的相关的开发文档或者学习的东西能不能给我分享以下,感谢!感谢!感谢!