首页职场八卦正文

用Python库PySimpleGUI制作办公自动化小软件

2024-08-27 次浏览


作者:Be_melting

https://blog.csdn.net/lys_828/article/details/111238568

用Python库PySimpleGUI制作办公自动化小软件
(图片来源网络,侵删)

Python 在运维和办公主动化中饰演侧重要的脚色,PySimpleGUI 是一款很棒的主动化辅助模块,让你更轻松的实现日常义务的主动化。1 PySimpleGUI安装

在敕令行/终端输入:pip install pysimplegui,期待安装完成后,进入python情况,输入import PySimpleGUI回车无误后,确认安装胜利2 PySimpleGUI制造简略单纯弹窗界面

2.1 两种界面设计模式

(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 sgimport zipfileimport 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 // 1024sg.popup(f'紧缩包体积年夜小为:{zip_size} KB')

输入紧缩popup
2022公务员考试面试-面试五大使用技巧 32个职场生活沟通技巧,让你在人际相处中如鱼得水
相关内容