用 Python 库 PySimpleGUI 制作自动化办公小软件
off999 2024-09-18 22:33 41 浏览 0 评论
Python 在运维和办公自动化中扮演着重要的角色,PySimpleGUI 是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。
1 PySimpleGUI安装
在命令行/终端输入:pip install pysimplegui,等待安装完成后,进入python环境,输入import PySimpleGUI回车无误后,确认安装成功
2 PySimpleGUI制作简易弹窗界面
2.1 两种界面设计模式
私信小编01即可获取大量Python学习资源
(1) 单次显示界面(one-shot window)
- 类似于弹窗,出现一次
- 常用于提示信息,收集信息
(2)持续显示界面(Persistent window)
- 持续不断显示,除非用户手动关闭
- 常作为软件的主界面
2.2 制作弹窗
官网默认的库的缩写为sg,使用时建议保持统一,也是使用sg
弹窗类型:(第一种和第二种是一致的)
- sg.popup('注意!')
- sg.popup_ok('默认弹窗')
- sg.popup_yes_no('带Yes和No按钮的弹窗')
- sg.popup_cancel('带cancel按钮的弹窗')
- sg.popup_ok_cancel('带OK和cancel按钮的弹窗')
- sg.popup_error('带红色error按钮的弹窗')
- sg.popup_auto_close('几秒后自动关闭的弹窗')
最后一个执行后程序会在2s左右自动退出,除了以上的简单的默认函数外,还可以手动设置参数,相关的参数如下
比如设置一个定制化的小窗口,进行相关参数的添加
sg.popup(
'这是弹窗',
title='Hello',
button_color=('#A81B0C', '#FFFFFF'),
background_color='#F47264',
line_width=2,
custom_text=' 好的 '
)输出结果:(第一个参数就是要显示的信息,可以是单个,也可多个字符串,多个字符串时候,默认换行,如果是单个字符串可以通过line_with指定每行的宽度)
当第一个参数是多个字符串时,自动换行显示(由于自动的窗体长宽很小,所以标题就没有看到,但不是代表不显示,下面的示例中就可以看到)
2.3 文字内容弹窗
采用popup_scrolled()方法,括号中添加要显示的内容即可
text = '''大家好,
我们一起来学习PySimpleGUI制作简单的图形用户界面。'''
sg.popup_scrolled(text,title='Hello')输出结果为:(这里的标题就正常的显示出来了)
这个文字内容弹窗里面也有相关的设置参数,可以根据自己的需要进行设置,参数如下:(注意之前的弹窗的参数也可以在这类弹窗中使用,比如刚刚用的title)
2.4 获取用户输入的弹窗
采用popup_get_text()方法,括号内容有点类似input()语句中的提示语,提醒用户输入
text1 = sg.popup_get_text('请输入文字1')
print(text1)
text2 = sg.popup_get_text('请输入文字2')
print(text2)输出结果为:(当点击Ok时候控制台输出端就会获取到用户输入的文字,如果是点击Cancel,输出端为None,这里执行了两次用户输入弹出的指令,当第一次输入后点击Ok会自动弹出第二个窗口)
该类弹窗也有自己特定的参数供选择,比如既然进行输入的操作,有时输入密码时候就不希望别人看到,就可以采用输入的显示方式,如下
测试进行密码隐藏输入,可以直接顺势将用户输入的密码也以弹窗的形式
2.5 文件选择弹出窗口
直接采用sg.popup_get_file()方法,括号里面的内容也是输入的提示语
选择后就会把详细的地址直接显示在输入框中,如下
那么同样该类弹出也有自己的特有属性参数设置,具体如下。里面的每个参数几乎都是超级常用的参数,可以自行测试一下。
默认后缀,这个参数也是常用的,比如在sublime中点击另存为时候,本身是py文件,在给文件命名的时候只需要输出文件名,后缀自动给添加上去了。
2.6 文件夹选择窗口
采用sg.popup_get_folder()方法,括号里面的内容也是输入的提示语。执行程序后会弹出选择文件的窗口,鼠标选择后就会把文件夹的路径添加到输入
2.7 进度条弹窗
采用sg.one_line_progress_meter()方法,括号中输入相关的参数设置内容
for i in range(1000):
sg.one_line_progress_meter(
'进度条',
i + 1,
1000,
'该进度条key',
'这是一个进度条'
)输出结果为:(会进行动态加载,直到达到100%)
当然此类弹窗也有自己特有的参数设置,如下。比如常见的设置竖直的还横向的,滚动条的上下限等。
比如尝试一下不同参数的组合输出
for i in range(1, 1000):
sg.one_line_progress_meter(
'进度条',
i + 1,
1000,
'该进度条key',
'这是一个进度条',
orientation='h',
bar_color=('#F47264', '#FFFFFF')
)输出结果为:
3 制作简易压缩软件
3.1 功能需求
- 软件运行后弹出窗口让用户选择一个文件夹
- 用户选择后再弹出窗口让用户选择压缩包保存的位置和名称
- 用户输入完成后将该文件夹内所有的文件进行压缩打包
- 完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小
3.2 功能拆解
(1)软件运行后弹出窗口让用户选择一个文件夹
- popup_get_folder()
(2)用户选择后再弹出窗口让用户选择压缩包保存的位置和名称
- popup_get_file()
- save_as=True
- default_extension = 'zip'
(3)用户输入完成后将该文件夹内所有的文件进行压缩打包
- zipfile模块
(4)完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小
- os.stat()读取文件信息
- popup()弹窗显示数据
3.3 全部代码
参考代码:(主要是细节部分,对于压缩路径的设置,需要进行处理一下,不然最后解压缩的会出现很多层级的不必要文件夹)
import PySimpleGUI as sg
import zipfile
import os
folder = sg.popup_get_folder('请选择要压缩的文件夹')
zip_path = sg.popup_get_file(
'请选择要保存的压缩包位置',
save_as=True,
default_extension='zip',
file_types=(('压缩包', '.zip'), )
)
with zipfile.ZipFile(zip_path, 'w') as zipobj:
for file in os.scandir(folder):
zipobj.write(file.path, file.path.replace(folder, '.'))
zip_size = os.stat(zip_path).st_size // 1024
sg.popup(f'压缩包体积大小为:{zip_size} KB')输出结果演示如下:(完美,撒花??ヽ(°▽°)ノ?
相关推荐
- 不小心抹掉了mac内置的磁盘(不小心抹掉了mac内置的磁盘怎么恢复)
-
因为你进入的是恢复磁盘,恢复磁盘是基于mac的。自己不能抹掉自己吧。所以抹不掉。如果你要彻底抹掉的话,开机按option+command+r,wifi下载网络恢复磁盘,就可以抹掉了。您可以按住COMM...
-
- 开机界面切换用户不见了win7
-
开始--运行(或者WIN+R),键入“msconfig”,单击“确定”或回车,运行“系统配置实用程序”。在“启动”里把“Ctfmon.exe”选中,单击“确定”开始--运行,输入“ctfmon.exe”回车,再输入“msconfig”启动,...
-
2025-12-13 00:03 off999
- win7旗舰版进入安全模式(win7旗舰版进入安全模式无法启动)
-
win7安全模式怎么进? 一、开机时按F8键 当你重启或开机时,在进入Windows系统启动画面之前按下F8键,会出现系统多操作启动菜单,有三个版本的安全模式可以选择,回车就直接进入安全模式。 ...
- ps手机版下载中文免费版2025
-
ps2023对电脑要求高。ps2022版本对电脑配置要求是:1、内存要求在一32G和64G之间。2、硬盘要求选择7200转机械硬盘,4k以上分辨,就选择SSD固态硬盘。3、CPU要求睿频在4.1GHZ...
- 苹果电脑如何下载windows系统
-
下载后安装BootCamp,之后在[应用程序]的[实用程序]中找到BootCamp助理,下面就可以开始安装Windows前的准备工作了。 第一步是要用BootCamp助理刻录一张驱动程序的CD...
- efi系统分区什么意思(efi系统分区的作用)
-
ud空间是指存放PE启动文件的分区;efi空间是指存放UEFI启动文件的分区。系统U盘(PE启动盘)的制作方法,一共分为三种。三分区法是其中的一种,三分区法就是一个U盘被分成了三个区,两边的分区是隐藏...
- 无需u盘重装系统(无需u盘安装系统)
-
可以通过以下步骤在不使用U盘的情况下重装Win7系统:首先需要备份您的电脑中的重要数据,以免在系统重装时丢失。进入系统的“控制面板”,找到“系统与安全”选项并单击进入。在“系统与安全”页面中,找到“备...
- 改无线网密码的网址(改无线网密码的网站)
-
移动宽带无线网改密码,可以在移动网上营业厅办理,但更简单的办法是通过短信办理(详见如下第2条): 移动无线宽带短信操作方式: 1)开通业务:编写短信“KTWLAN”发送至10086。 注:短...
- c盘满了却不敢删(c盘满了清不掉)
-
1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。2、关闭休眠功能,在开始菜单的运行里输入powercfg-hoff指令,关闭休眠,此文件实际大小和物理内存是一样的,大约可以...
-
- 联想笔记本电脑怎么打开摄像头
-
联想笔记本怎么打开摄像头?1、点击电脑开始菜单栏,在弹出的窗口中点击【设置】。2、在”隐私和安全性“面板中点击【相机】选项。3、将【摄像头访问】右侧的开关打开。材料/工具:以联想Y460笔记本为例。操作步骤如下:1、在电脑的桌面,打开我...
-
2025-12-12 19:51 off999
- win732纯净版系统gho(win732纯净版下载)
-
一,win7x32gho指的是32位的Windows7操作系统,gho指的是ghost方式封装的镜像文件,一般这种都是盗版系统。二,如果自己需要安装64位系统就不要选这个,内存低于3GB可以安装win...
- pscs6激活账户(pscs6激活账户和序列号免费)
-
pscs6破解补丁是AdobePhotoShopCs6版本的破解激活补丁,使用后不会弹出购买窗口,实现完美破解,无任何限制破解版软件扩展功能好像不好用!要用需要的扩展功能可以在网上下载需要的插件...
- 键盘皮肤下载(键盘皮肤下载软件免费有音效)
-
1、vivo自带的输入法不能更换键盘皮肤;2、建议可以下载第三方输入法更换皮肤,比如:搜狗输入法等;3、下载第三方输入法之后需要在设置-更多设置-输入法中设置为第三方的输入法使用;4、然后在输入法界面...
- win11如何格式化硬盘(win11硬盘分区怎么改成gpt)
-
win11系统格式化电脑和硬盘的方法如下1、打开本地磁盘管理页面,右键点击需要格式化的磁盘,选择【格式化】。2、在弹出的窗口中,勾选【快速格式化】,点击【开始】。3、最后等待格式化完成即可。1.首先我...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
