欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

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

时间:2022-10-09 18:03:56 | 浏览:410

Python 在运维和办公自动化中扮演着重要的角色,PySimpleGUI 是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。1 PySimpleGUI安装在命令行/终端输入:pip install 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")

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

相关资讯

零基础学Python:Python五种Python解释器分享给你

不论你是Python新手零基础入门Python还是对于Python有了一定的经验积累,这里跟大家分享5个Python计时器,希望伙伴们有能用得上的!Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分

Python之父:Python4.0可能不会来了

机器之心报道编辑:力元、蛋酱2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题

python入门之python简介

一、python了解python 是脚本语言。python 是一种面向对象的解释型计算机程序设计语言。语法简洁清晰,特色之一是强制用空白符作为语句缩进。优点:跨平台、胶水语言、开源免费、丰富的库 。缺点:运行速度慢、代码不能加密、场景、数据

最新的python,整整16个G,附零基础入门Python思维导图

思维导图是整理知识的一种非常有效的手段,这里分享几张 Python 基础学习的思维导图,可以帮助自己巩固下基础,有需要的小伙伴可以加紧时间收藏哦!获取方式:

什么是Python?为什么要学习Python?

第一期计算机等考二级程序设计科目的学习,我们从简单易学的Python开始,今天,就让我们揭开它神秘的面纱!我们先看三组数据:第一组呢是TIOBE指数排行,可以看到我们的Python在今年三月份排在了榜首的位置,相比去年的三月份,Python

Python:是!“用Python的,全是假程序员”!HR:太真实……

都说Python什么都能做,本来我是不信的!直到我在CSDN站内看到了一件真事儿:一位博主贴出了自己10分钟用Python搭建小说网站的全过程!全程只用了2步操作,简直太秀了!!……第一步:爬取小说数据库第二步:用Python的热门框架Dj

封神级Python开发核心知识点笔记!一篇带你学透Python

之前老看Java岗的一个朋友炫耀他的一份Java核心知识点笔记,当时,我内心毫无波澜,只有一点点酸……其实Python开发也有很多知识点,我一直一来就想要一份Python核心知识点笔记来帮助自己查漏补缺,后来想想,既然一直没有找到让我满意的

明年至少令Python提速2倍?Python之父给出爆料

去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Gu

Python入门教程:超详细1小时学会Python

小编贴心提醒,本文阅读时间9分钟1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。我们写下一句著名的程序语句:并按回车,你就能看到这句被K&R引

想学习Python不知从何学起?一份超详细Python入门资料,干货满满

Python是近年来非常火热的一门编程语言,Python 语言最大的特点就是简单,该特点主要体现在以下 2 个方面:1. Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。2. 和其它编程语言相比,实现同一个功能

python入门基础教学,再不学python就晚了

经过了前一段时间的python学习,那么今天我们来学习一下字典,首先来看一个简单的字典:在python中,字典是一系列键-值对,每个键都与一个值相关联,例如前面的color和age就是键,yelllow和23就是他们分别对应的值对1.访问字

学习Python你一定要知道的知识Python解释器的作用和分类有哪些

之前已经讲解了Python解释器的下载和安装,现在就讲下解释器的作用和分类,在讲解任何Python代码之前我们得先知道解释器概念和作用,因为解释器扮演的角色是非常重要的。一、解释器的作用****作用:运行文件(运行代码)****Python

如何在PythonIDLE中查看Python中turtle库中所有方法及用法

在IDLE中点击help中的Python Docs找到“Python Docs”然后就进入Python文档的界面,在左边找到“搜索”按钮,并点击。找到“搜索”按钮在搜索框中搜索所需要的库名称或者函数名称,就能含有该关键词对应的文件。你会在这

7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。但你看这些图表呢?结合真实地理数据,展现美国每个县的失业率。全球自然灾害统计,类型、规模、时间,一目了然。甚至还有可爱

分析Python3中的bytes和str类型

从例子可以看出,s是个字符串类型。Python有个内置函数bytes()可以将字符串str类型转换成bytes类型,b实际上是一串01的组合,但为了在ide环境中让我们相对直观的观察,它被表现成了b’xe4xb8xadxe6x96

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈保山今日新闻网抖音直播电商资讯网生肖猴运势网丽江泸沽湖旅游网六盘水新闻头条网睫毛膏品牌网王宝强影迷网体育资讯网内江新闻头条网美术艺考培训网今日淮北赛车比赛网帝舵手表收藏雁门关旅游攻略面膜资讯网
python编程教学网-python数据库开发教程、python基础知识入门、python数据库编程入门、python语法基础、python下载安装教程、python下载手机版、python翻译器下载手机版、python翻译器代码、python语言翻译、python基础代码、python编程自学网。
python编程教学网 dadeji.cn ©2022-2028版权所有