用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

来源丨Python自动化办公社区

链接

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

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

1 PySimpleGUI安装

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

2 PySimpleGUI制作简易弹窗界面

2.1 两种界面设计模式

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

  • 类似于弹窗,出现一次

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

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

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

  • 常作为软件的主界面

2.2 制作弹窗

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

  • 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 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

sg.popup( \'这是弹窗\', title=\'Hello\', button_color=(\'#A81B0C\', \'#FFFFFF\'), background_color=\'#F47264\', line_width=2, custom_text=\' 好的 \')

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

2.3 文字内容弹窗

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

text = \'\'\'大家好,我们一起来学习PySimpleGUI制作简单的图形用户界面。\'\'\'sg.popup_scrolled(text,title=\'Hello\')

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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会自动弹出第二个窗口)

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

2.5 文件选择弹出窗口

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

2.6 文件夹选择窗口

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

2.7 进度条弹窗

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

for i in range(1000): sg.one_line_progress_meter( \'进度条\', i 1, 1000, \'该进度条key\', \'这是一个进度条\' )

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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

for i in range(1, 1000): sg.one_line_progress_meter( \'进度条\', i 1, 1000, \'该进度条key\', \'这是一个进度条\', orientation=\'h\', bar_color=(\'#F47264\', \'#FFFFFF\') )

输出结果为:

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

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\')

输出结果演示如下:(完美,撒花✿✿ヽ(°▽°)ノ✿

用 Python 库 PySimpleGUI 制作自动化办公小软件(怎么用python自动化办公)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月2日 下午3:38
下一篇 2024年5月2日 下午3:50

相关推荐

  • 最佳论文之三十一:固根铸魂强党建,踏石留印求实效(强根铸魂抓党建)

    ——吉林省国资委监管企业党建工作创新实践 报送单位 / 吉林省国资委党委组织部 【摘要】全国国有企业党的建设工作会议以来 , 吉林省国资委党委坚持以习近平新时代中国特色社会主义思想…

    科研百科 2023年9月30日
    99
  • 合同管理优势

    合同管理优势 随着市场经济的发展和企业竞争的加剧,合同管理已经成为企业管理中不可或缺的一部分。合同管理不仅可以保证合同的执行,还可以帮助企业节省成本,提高效益。本文将探讨合同管理的…

    科研百科 2024年6月4日
    56
  • 承担是主持还是参与

    承担是主持还是参与,这是一个值得思考的问题。在组织或参加活动时,我们通常会选择承担主持或参与的角色,但这两种角色都有其优缺点,我们需要考虑清楚自己的需求和目标,以便做出最好的选择。…

    科研百科 2024年11月8日
    2
  • 哈尔滨软件公司有哪些(哈尔滨软件公司有哪些公司)

      哈尔滨作为东北地区的重要城市,拥有多家优秀的软件公司。以下是一些哈尔滨的软件公司,供您参考:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致…

    科研百科 2024年8月8日
    38
  • 参加大学生科研项目的好处参加大学生科研项目的好处

    参加大学生科研项目的好处 随着科技的不断发展,大学生科研项目成为了越来越多大学生选择积极参加的活动。参加大学生科研项目不仅能够锻炼自己的学术能力,还能为未来的职业道路打下坚实的基础…

    科研百科 2024年6月12日
    77
  • 协同办公系统哪家好(协同办公系统报价)

    协同办公系统报价: 让工作效率更高 随着数字化时代的到来,协同办公系统已经成为企业日常运营中不可或缺的一部分。协同办公系统可以帮助企业高效地组织和管理员工,共享信息资源,提高工作效…

    科研百科 2024年8月27日
    24
  • 学术科研类奖项名称(名校学术科研项目学员有哪些)

    名校学术科研项目学员有哪些 近年来,随着高等教育的飞速发展,许多知名高校开设了各种学术科研项目,为学生们提供了更多的学习机会和展示自己的机会。在这些项目中,许多学员都有机会参与各种…

    科研百科 2024年8月4日
    45
  • 软件项目管理软件 免费

    软件项目管理软件:免费版本与付费版本有何区别? 随着软件开发行业的不断发展,软件项目管理软件已经成为了软件开发过程中必不可少的工具。虽然软件项目管理软件的免费版本和付费版本在功能上…

    科研百科 2024年7月23日
    42
  • 河南省科研项目分类目录河南省科研项目分类目录

    河南省科研项目分类目录 河南省是中国的一个省份,位于中国中部。作为一个重要的经济和文化发展中心,河南省一直吸引着众多国内外的科研项目。本文将介绍河南省科研项目分类目录,为研究人员和…

    科研百科 2024年9月8日
    24
  • 生物医药学科研项目管理生物医药学科研项目管理

    生物医药学科研项目管理 随着生物医药学的快速发展,科研项目管理也成为了一门越来越重要的学科。在生物医药研究中,实验室的安全、数据的准确性和实验的高效性都是至关重要的。因此,有效的科…

    科研百科 2024年7月4日
    93