找回密码
 会员注册
查看: 24|回复: 0

5分钟用Python写一个软件,快速入门PySimpleGUI

[复制链接]

2

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2024-9-2 23:54:21 | 显示全部楼层 |阅读模式
大家好,很多人都想写一个自己的桌面程序,那么PySimpleGUI是一个非常好的选择,它旨在简化GUI(图形用户界面)的创建过程。它基于几种流行的PythonGUI库,如tkinter、Qt、WxPython和Remi,但提供了一个更简单直观的接口。通过PySimpleGUI,即使是没有图形界面开发经验的开发者也可以快速创建漂亮、功能丰富的窗口应用。为什么选择PySimpleGUI?易用性:PySimpleGUI提供了简洁的API,使得创建GUI变得非常简单。灵活性:支持多种后端,可以根据不同的需求选择合适的后端。高效性:虽然简单,但PySimpleGUI并不牺牲性能,它能够创建响应迅速的应用程序。跨平台:可以在Windows、macOS和Linux上运行。基础概念和原理在深入案例之前,我们先来了解一些基础概念:窗口(Window)在PySimpleGUI中,一切都是从创建一个窗口开始的。窗口是用户与程序交互的界面。布局(Layout)布局定义了窗口中元素的排列方式。PySimpleGUI支持多种布局管理器,如Vertical、Horizontal等。元素(Element)元素是构成GUI的基本组件,如按钮(Button)、输入框(Input)、列表(List)等。事件(Event)事件是用户与GUI交互的结果,如点击按钮、输入文本等。PySimpleGUI通过回调函数来处理这些事件。安装这个包5.0以后开始收费了,建议安装如下版本pipinstallPySimpleGUI==4.60.5-ihttps://pypi.tuna.tsinghua.edu.cn/simple1案例示例1:创建一个简单的登录界面importPySimpleGUIassg#窗口布局定义layout=[[sg.Text('用户名'),sg.InputText(key='username')],[sg.Text('密码'),sg.Input(key='password',password_char='*')],[sg.Button('登录'),sg.Button('退出')]]#创建窗口window=sg.Window('登录界面',layout)#事件循环whileTrue:event,values=window.read()ifeventin(None,'退出'):breakelifevent=='登录':#检查用户名和密码ifvalues['username']=='admin'andvalues['password']=='admin':sg.popup('登录成功!')else:sg.popup('错误的用户名或密码!')window.close()12345678910111213141516171819202122232425在这个示例中,我们创建了一个包含用户名、密码输入框和两个按钮的简单界面。用户可以通过输入正确的用户名和密码组合来触发登录成功的弹窗。示例2:创建一个数据输入表单importPySimpleGUIassg#表单布局layout=[[sg.Text('请输入以下信息')],[sg.Text('姓名',size=(15,1)),sg.InputText()],[sg.Text('年龄',size=(15,1)),sg.InputText()],[sg.Text('职业',size=(15,1)),sg.Combo(['教师','工程师','医生','艺术家'])],[sg.Submit(),sg.Cancel()]]#创建窗口window=sg.Window('信息表单',layout)#事件处理whileTrue:event,values=window.read()ifeventin(None,'Cancel'):breakifevent=='Submit':sg.popup(f"姓名:{values[0]}\n年龄:{values[1]}\n职业:{values[2]}")window.close()1234567891011121314151617181920212223这个例子展示了如何创建一个包含文本输入和下拉菜单的表单。用户提交信息后,将通过弹窗显示输入的内容。一个进阶案例创建一个简单的计算器让我们通过一个简单的计算器案例来展示PySimpleGUI的用法。代码实现importPySimpleGUIassg#定义计算器的布局layout=[[sg.Text('简单计算器')],[sg.Input(key='INPUT1'),sg.Input(key='INPUT2',enable_events=True)],[sg.Text('结果:'),sg.Text('0',key='OUTPUT')],[sg.Button('加'),sg.Button('减'),sg.Button('乘'),sg.Button('除')],[sg.Button('退出')]]#创建窗口window=sg.Window('计算器',layout)#事件循环whileTrue:event,values=window.read()ifevent==sg.WIN_CLOSED:breakifeventin('加','减','乘','除'):try:num1=float(values['INPUT1'])num2=float(values['INPUT2'])ifevent=='加':result=num1+num2elifevent=='减':result=num1-num2elifevent=='乘':result=num1*num2elifevent=='除':result=num1/num2ifnum2!=0else'除数不能为0'window['OUTPUT'].update(result)exceptValueError:window['OUTPUT'].update('请输入有效的数字')#关闭窗口window.close()12345678910111213141516171819202122232425262728293031323334353637代码解析导入PySimpleGUI库。定义计算器的布局,包括文本、输入框、输出文本和按钮。创建一个窗口,传入窗口和布局。进入事件循环,监听用户操作。根据用户的操作更新输出结果或处理异常。当用户关闭窗口时退出循环,并关闭窗口。通过上述示例可以看出,PySimpleGUI提供了一种快速而简便的方法来创建具有复杂交互功能的GUI应用。无论你是初学者还是有经验的开发者,PySimpleGUI都能有效地帮助你实现应用原型或构建完整的用户界面,从而让PythonGUI开发变得更加简单有趣。如果分享你的信息,对你有用!别忘了三连击哦——点赞、收藏、关注!喜欢学习Pyhon及副业知识,可添加微信tongwen1629围观学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 00:19 , Processed in 0.509058 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表