Python 自动化库介绍 PySimpleGUI

Python编程学习圈 3天前

【导语】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 osfolder = 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')

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

              来源:

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

              不看的原因确定内容质量低不看此公众号
              (0)

              相关推荐

              • Appium+python自动化20-查看iOS上app元素属性

                前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的 ...

              • 再见PDF提取收费!我用100行Python代码搞定!

                第471篇原创干货,第一时间送达 大家在日常的工作和学习过程中,都少不了与PDF文件打交道,很多的小伙伴都面临着将PDF文件中的文字.图片和表格数据提取出来的问题.能够对PDF文件中的文字.表格等数据 ...

              • 什么是Python自动化运维?

                "Python自动化运维"这个词,想必大家都听说过,但是很多人对它并不了解,也不知道是做什么的,那么你对Python自动化运维了解多少呢?跟着小编往下看. 什么是Python自动化 ...

              • Python之文件

                文件 打开文件 函数open的参数mode的最常见取值 打开方式 读写文件 文件write调用返回了写入的字符数. 文件的读取 随机存取 关闭文件 迭代文件内容 文件路径 用 os.makedirs( ...

              • Selenium2+python自动化66-装饰器之运行失败截图

                前言 对于用例失败截图,很多小伙伴都希望在用例执行失败的时候能自动截图,想法是很好的,实现起来并不是那么容易. 这里分享下我的一些思路,当然目前还没找到完美的解决方案,我的思路是用装饰器去解决,希望有 ...

              • python接口自动化13-data和json参数傻傻分不清

                前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data? 一.识别json参数 1.在前面 ...

              • 一个Python GUI神器,双手彻底解放!

                关键时间,第一时间送达! 大家好,我是boy哥. 今天给大家推荐一个非常牛X的Python GUI库,PySimpleGUI 可以说,有了它双手真的彻底解放了,做个GUI分分钟就能搞定. ▍什么是Py ...

              • 用Python制作一个数据预处理小工具,多种操作,一键完成,非常实用!

                在我们平常使用Python进行数据处理与分析时,在import完一大堆库之后 ,就是对数据进行预览,查看数据是否出现了缺失值.重复值等异常情况,并进行处理. 本文将结合GUI工具PySimpleGUI ...

              • python与anaconda安装(先安装了python后安装anaconda,基于python已存在的基础上安装anaconda)

                目录 一.安装python(python3.7.4) 1.下载 (1)下载1(32位) (2)下载2(64位) 2.安装 3.配置python环境变量 4.检验python 二.安装anaconda( ...

              • 什么是Scikit-learn?Python机器学习库介绍!

                对Python语言有所了解的人都知道Python简单,拥有丰富的第三方库,可用于人工智能.机器学习.网络爬虫.web开发等领域,而这篇文章小编想要为大家介绍一下最有名,也是专门面向机器学习的一个库,它 ...

              • Python汇总篇,200+Python标准库介绍

                今天给大家介绍一下200多个Python标准库,让大家对Python标准库有一个大致的认识. 关于Python标准库 01 众所周知,Python是一个依赖强大的组件库完成对应功能的语言,为了便捷实现 ...

              • 超全汇总!200 多个 Python 标准库介绍

                Python开发精选 分享 Python 技术文章.资源.课程.资讯. 10篇原创内容 公众号 今天给大家介绍一下200多个Python标准库,让大家对Python标准库有一个大致的认识. 关于Pyt ...

              • Python汇总篇,200 个Python标准库介绍(超全)

                ‍ 来源丨码里奥编程 大家好~今天给大家介绍一下200多个Python标准库,让大家对Python标准库有一个大致的认识. 关于Python标准库 01 众所周知,Python是一个依赖强大的组件库完 ...

              • 10大Python库介绍!

                现在转行学编程,很多人都会选择Python,很大一部分原因是因为Python具有丰富的第三方库,既可以帮助我们提高开发效率,还能够缩减代码量.那么你知道Python有哪些库吗?这里为大家介绍10个,总 ...

              • Python数据分析库-Pandas的介绍与安装

                各位客官姥爷好,欢迎回来.我们之前的内容一直围绕着正则表达式展开,这次我们就讲点别的.既然我的公众号名称叫做转行学数据分析,那么我们今天就来讲讲数据分析有关的,一个常见的Python的数据分析库--P ...

              • 整理了 34 个 Python 自动化办公库

                以下文章来源于Python自动化办公社区 作者牛稳稳 今天继续给大家分享2周时间整理的Python自动化办公库. 本次内容涵盖了Excel.Word.PPT.ODF.PDF.邮件.微信.文件处理等所有 ...

              • 超实用!整理了34个Python自动化办公库!

                来源丨Python自动化办公社区 作者丨牛稳稳 今天给大家分享一下,花费2周时间整理的Python自动化办公库. 本次内容涵盖了Excel.Word.PPT.ODF.PDF.邮件.微信.文件处理等所有 ...

              • 【建议收藏】Python 自动化办公库清单 (共34个)

                来源:牛稳稳 Python Excel 自动化库 //  1.xlwings 库 官网: https://www.xlwings.org/ 特点:xlwings 是开源且免费的,预装了 Anacond ...