PySimpleGUI 让 Python 的 GUI 界面开发变得如此简单(第01篇) —— 天气预报小功能实例分析

之前在学习 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 模块的相关的开发文档或者学习的东西能不能给我分享以下,感谢!感谢!感谢!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值