首页 > 系统相关 >Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面小工具

Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面小工具

时间:2024-03-13 17:02:42浏览次数:20  
标签:控件 Pyinstaller Python Text PySimpleGUI 输入框 InputText 文本

1开发环境

Python+PyCharm

2第三方库

2.1

PySimpleGUI是基于Python的图形界面开发工具

pip install PySimpleGUI

PySimpleGUI5.0版本后开始收费,好像注册个人用户是免费,嫌麻烦我直接用的之前的版本 

pip  install PySimpleGUI==4.60.5 

2.2

PyInstaller 是一个在 Windows、GNU/Linux、macOS、FreeBSDOpenBSDSolaris 和 AIX 下将 Python 程序冻结(打包)为独立可执行文件的程序

pip install Pyinstaller

3、PySimpleGUI创建局部

 页面布局,内部由多个元素组成数组
layout[[],[],[]...]

 文本
PySimpleGUI.Text("文本")/PySimpleGUI.T("文本")

 输入框
PySimpleGUI.InputText("默认文本")/PySimpleGUI.In("默认文本")

按钮
PySimpleGUI.Button("按钮名称")

import PySimpleGUI

#UI布局
layout = [
    [PySimpleGUI.Text("测试数据")],                         #第一行文本
    [PySimpleGUI.Text("编号"), PySimpleGUI.InputText("001")], #第二行文本+输入框
    [PySimpleGUI.Text("姓名"), PySimpleGUI.InputText("张三")], #第三行文本文本+输入框
    [PySimpleGUI.Text("性别"), PySimpleGUI.InputText("男")],  #第四行文本文本+输入框
    [PySimpleGUI.Button("确定"), PySimpleGUI.Button("取消")]  #第五行确定和取消按钮
]

windows = PySimpleGUI.Window("我的程序", layout)#("程序名称",程序布局)

while True:
    event, values = windows.read()#读取窗口,返回两个值,一个是事件,一个是值
    if event is None:
        windows.close()

运行结果

一般简单程序所用的控件有Text、Input、Button、Radio、Checkbox、Combo、Image、Window、FileBrowse、Graph、弹出对话框 等。

控件名称参考PySimpleGUI常用控件-CSDN博客文章浏览阅读65次,点赞2次,收藏3次。以下是PySimpleGUI常用控件,具体参数以后用到再一一展示。选项卡,与TabGroup一起使用。文件选择弹窗,可用于文件保存。标签页,也Tab一起使用。带Yes和No按键的弹窗。单击弹出类似右键菜单。https://blog.csdn.net/weixin_43389186/article/details/136679016?spm=1001.2014.3001.5502具体的控件参数后续用到再详细说明

4 Pyinstaller打包生成Windows的exe文件

py文件目录下 运行    Pyinstaller -F -w uitest.py   

文件保存在项目的./dist目录下

win运行没问题

结语

程序里我没有添加任何事件触发逻辑,有兴趣的可以加下

打包生成的exe样例https://download.csdn.net/download/weixin_43389186/88958096?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://download.csdn.net/download/weixin_43389186/88958096?spm=1001.2014.3001.5501

标签:控件,Pyinstaller,Python,Text,PySimpleGUI,输入框,InputText,文本
From: https://blog.csdn.net/weixin_43389186/article/details/136670300

相关文章

  • python多线程中:如何关闭线程?
    使用threading.Event对象关闭子线程Event机制工作原理:Event是线程间通信的一种方式。其作用相当于1个全局flag,主线程通过控制event对象状态,来协调子线程步调。使用方式主线程创建event对象,并将其做为参数传给子线程主线程可以用set()方法将event对象置为true,用cl......
  • 免费实名认证接口python语言-身份核验-身份证二、三要素
    翔云身份证实名认证接口,实时联网,可快速、精准核验用户所提供信息的真伪,且为更好的服务广大新老用户,现购买翔云身份证实名认证接口即赠送同等的身份证识别接口条数,旨在帮助用户摆脱手动录入的繁琐,提高用户体验,让您的平台远离冒名顶替、欺诈的风险,更有助于您的企业树立起诚信、可靠......
  • python(pip)包/模块:如何离线安装?
    1、生成requirements.txt文件如果有同环境服务器,可直接生成requirements.txt,会把当前服务器下的包和版本写入文件中。pipfreeze>requirements.txt如安装指定包,创建requirements.txt,输入包名==版本号//只输入包名,默认最新版本。例:xlwt==1.3.02、下载包在requirements.t......
  • 用Python历时十多天完成的全国所有区县经纬度采集
    在高德坐标拾取器(坐标拾取器|高德地图API)中,如果输入北京,坐标获取结果为:116.407387,39.904179,这是经纬度坐标,在高德公开的全国所有区县编码表(https://a.amap.com/lbs/static/code_resource/AMap_adcode_citycode.zip)中,有3241行数据,字段分别为中文名,adcode,citycode,其中citycode......
  • python实现发送邮件
    python实现自动化邮件发送测试环境:os:windows10编译软件:pycharm,python发送端:[email protected]接收端:[email protected],[email protected] 1.发送端需开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。我这里使用的是QQ,需要去mail.qq.com开启此服务:【登录】-【设置】-【账号】-【OP3/IMA......
  • 如何系统的学习Python——文件操作
    在Python中,文件操作是一项常见的任务,用于读取和写入文件。下面简要介绍Python中的文件处理(FileHandling)操作:打开文件(OpenaFile):要打开一个文件,可以使用内建的open()函数。open()函数接受文件路径和打开模式作为参数。#打开一个文件以供读取file_path="example.......
  • springboot/java/php/node/python小区物业管理小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着城市化进程的加速,住宅小区作为城市生活的基本单元,其管理效率和服务质量直接影响着居民的生活体验。传统的物业管理方式往往依赖于人工操作,不仅耗时......
  • python Ai 应用开发基础训练,字符串,字典,文件,函数,装饰品,生成器(下)
    生成器的另一个示例,这个生成器功能是从大小生,生成斐波那契数列deffib(max):#定义一个函数fib,参数为maxa,b=0,1#初始化两个变量a和b,分别赋值为0和1n=0#初始化计数变量n为0whileb<max:#当b小于max时继续循环print(b)#打印当前的斐波......
  • 如何系统的学习Python——图书管理系统
    一个典型的应用面向对象编程(OOP)概念的实际项目——图书管理系统。在这个项目中,我们可以设计多个类来表示不同的实体,如书籍、作者、图书馆、借阅者等,并通过这些类之间的关系来模拟现实生活中的图书管理流程。以下是一个简单的图书管理系统的面向对象设计概念示例:1.类的设......
  • 如何系统的学习Python——异常处理
    异常处理是在程序执行期间检测到的错误或异常情况的处理过程。在Python中,异常由try,except,else和finally语句来处理。以下是一个简单的介绍:1.try和except块:try:#可能会引发异常的代码块result=10/0#除零异常exceptZeroDivisionError:......