全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2022-10-27 16:21:00
发布人:syq

  Python在运维和办公自动化中扮演着重要的角色,PySimpleGUI是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。

用Python库PySimpleGUI

  1.PySimpleGUI安装

  在命令行/终端输入:pip install pysimplegui,等待安装完成后,进入Python环境,输入import PySimpleGUI回车无误后,确认安装成功。

Python在运维和办公自动化中扮演着重要的角色170

  2.PySimpleGUI制作简易弹窗界面

  2.1 两种界面设计模式

  (1) 单次显示界面(one-shot window)

  类似于弹窗,出现一次

  常用于提示信息,收集信息

  (2)持续显示界面(Persistent window)

  持续不断显示,除非用户手动关闭

  常作为软件的主界面

  2.2 制作弹窗

  官网默认的库的缩写为sg,使用时建议保持统一,也是使用sg

Python在运维和办公自动化中扮演着重要的角色360

  弹窗类型:(第一种和第二种是一致的)

  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左右自动退出,除了以上的简单的默认函数外,还可以手动设置参数,相关的参数如下

Python在运维和办公自动化中扮演着重要的角色651

  比如设置一个定制化的小窗口,进行相关参数的添加

1

  输出结果:(第一个参数就是要显示的信息,可以是单个,也可多个字符串,多个字符串时候,默认换行,如果是单个字符串可以通过line_with指定每行的宽度)

Python在运维和办公自动化中扮演着重要的角色899

  当第一个参数是多个字符串时,自动换行显示(由于自动的窗体长宽很小,所以标题就没有看到,但不是代表不显示,下面的示例中就可以看到)

Python在运维和办公自动化中扮演着重要的角色966

  2.3 文字内容弹窗

  采用popup_scrolled()方法,括号中添加要显示的内容即可

2

  输出结果为:(这里的标题就正常的显示出来了)

Python在运维和办公自动化中扮演着重要的角色1124

  这个文字内容弹窗里面也有相关的设置参数,可以根据自己的需要进行设置,参数如下:(注意之前的弹窗的参数也可以在这类弹窗中使用,比如刚刚用的title)

Python在运维和办公自动化中扮演着重要的角色1201

  2.4 获取用户输入的弹窗

  采用popup_get_text()方法,括号内容有点类似input()语句中的提示语,提醒用户输入

3

  输出结果为:(当点击Ok时候控制台输出端就会获取到用户输入的文字,如果是点击Cancel,输出端为None,这里执行了两次用户输入弹出的指令,当第一次输入后点击Ok会自动弹出第二个窗口)

Python在运维和办公自动化中扮演着重要的角色1460

  该类弹窗也有自己特定的参数供选择,比如既然进行输入的操作,有时输入密码时候就不希望别人看到,就可以采用输入的显示方式,如下

Python在运维和办公自动化中扮演着重要的角色1524

  测试进行密码隐藏输入,可以直接顺势将用户输入的密码也以弹窗的形式

Python在运维和办公自动化中扮演着重要的角色1559

  2.5 文件选择弹出窗口

  直接采用sg.popup_get_file()方法,括号里面的内容也是输入的提示语

Python在运维和办公自动化中扮演着重要的角色1616

  选择后就会把详细的地址直接显示在输入框中,如下

Python在运维和办公自动化中扮演着重要的角色1642

  那么同样该类弹出也有自己的特有属性参数设置,具体如下。里面的每个参数几乎都是超级常用的参数,可以自行测试一下。

Python在运维和办公自动化中扮演着重要的角色1700

  默认后缀,这个参数也是常用的,比如在sublime中点击另存为时候,本身是py文件,在给文件命名的时候只需要输出文件名,后缀自动给添加上去了。

Python在运维和办公自动化中扮演着重要的角色1774

  2.6 文件夹选择窗口

  采用sg.popup_get_folder()方法,括号里面的内容也是输入的提示语。执行程序后会弹出选择文件的窗口,鼠标选择后就会把文件夹的路径添加到输入

Python在运维和办公自动化中扮演着重要的角色1866

  2.7 进度条弹窗

  采用sg.one_line_progress_meter()方法,括号中输入相关的参数设置内容

4

  输出结果为:(会进行动态加载,直到达到100%)

Python在运维和办公自动化中扮演着重要的角色2068

  当然此类弹窗也有自己特有的参数设置,如下。比如常见的设置竖直的还横向的,滚动条的上下限等。

Python在运维和办公自动化中扮演着重要的角色2116

  比如尝试一下不同参数的组合输出

5

  输出结果为:

Python在运维和办公自动化中扮演着重要的角色2320

  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 全部代码

  参考代码:(主要是细节部分,对于压缩路径的设置,需要进行处理一下,不然最后解压缩的会出现很多层级的不必要文件夹)

6

  输出结果演示如下:

640

相关文章

压力测试和性能测试有什么区别?

压力测试和性能测试有什么区别?

2023-10-14
什么是运行时环境?

什么是运行时环境?

2023-10-14
什么是MAC地址?

什么是MAC地址?

2023-10-14
黑石服务器是什么?

黑石服务器是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取