用Python库PySimpleGUI制作自动化办公小软件
来源丨Python自动化办公社区
链接
https:blog。csdn。netlys828articledetails11123856
Python在运维和办公自动化中扮演着重要的角色,PySimpleGUI是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。1PySimpleGUI安装
在命令行终端输入:pipinstallpysimplegui,等待安装完成后,进入python环境,输入importPySimpleGUI回车无误后,确认安装成功
2PySimpleGUI制作简易弹窗界面2。1两种界面设计模式
(1)单次显示界面(oneshotwindow)
类似于弹窗,出现一次
常用于提示信息,收集信息
(2)持续显示界面(Persistentwindow)
持续不断显示,除非用户手动关闭
常作为软件的主界面
2。2制作弹窗
官网默认的库的缩写为sg,使用时建议保持统一,也是使用sg
弹窗类型:(第一种和第二种是一致的)
sg。popup(注意!)
sg。popupok(默认弹窗)
sg。popupyesno(带Yes和No按钮的弹窗)
sg。popupcancel(带cancel按钮的弹窗)
sg。popupokcancel(带OK和cancel按钮的弹窗)
sg。popuperror(带红色error按钮的弹窗)
sg。popupautoclose(几秒后自动关闭的弹窗)
最后一个执行后程序会在2s左右自动退出,除了以上的简单的默认函数外,还可以手动设置参数,相关的参数如下
比如设置一个定制化的小窗口,进行相关参数的添加sg。popup(这是弹窗,titleHello,buttoncolor(A81B0C,FFFFFF),backgroundcolorF47264,linewidth2,customtext好的)
输出结果:(第一个参数就是要显示的信息,可以是单个,也可多个字符串,多个字符串时候,默认换行,如果是单个字符串可以通过linewith指定每行的宽度)
当第一个参数是多个字符串时,自动换行显示(由于自动的窗体长宽很小,所以标题就没有看到,但不是代表不显示,下面的示例中就可以看到)
2。3文字内容弹窗
采用popupscrolled方法,括号中添加要显示的内容即可text大家好,我们一起来学习PySimpleGUI制作简单的图形用户界面。sg。popupscrolled(text,titleHello)
输出结果为:(这里的标题就正常的显示出来了)
这个文字内容弹窗里面也有相关的设置参数,可以根据自己的需要进行设置,参数如下:(注意之前的弹窗的参数也可以在这类弹窗中使用,比如刚刚用的title)
2。4获取用户输入的弹窗
采用popupgettext方法,括号内容有点类似input语句中的提示语,提醒用户输入text1sg。popupgettext(请输入文字1)print(text1)text2sg。popupgettext(请输入文字2)print(text2)
输出结果为:(当点击Ok时候控制台输出端就会获取到用户输入的文字,如果是点击Cancel,输出端为None,这里执行了两次用户输入弹出的指令,当第一次输入后点击Ok会自动弹出第二个窗口)
该类弹窗也有自己特定的参数供选择,比如既然进行输入的操作,有时输入密码时候就不希望别人看到,就可以采用输入的显示方式,如下
测试进行密码隐藏输入,可以直接顺势将用户输入的密码也以弹窗的形式
2。5文件选择弹出窗口
直接采用sg。popupgetfile方法,括号里面的内容也是输入的提示语
选择后就会把详细的地址直接显示在输入框中,如下
那么同样该类弹出也有自己的特有属性参数设置,具体如下。里面的每个参数几乎都是超级常用的参数,可以自行测试一下。
默认后缀,这个参数也是常用的,比如在sublime中点击另存为时候,本身是py文件,在给文件命名的时候只需要输出文件名,后缀自动给添加上去了。
2。6文件夹选择窗口
采用sg。popupgetfolder方法,括号里面的内容也是输入的提示语。执行程序后会弹出选择文件的窗口,鼠标选择后就会把文件夹的路径添加到输入
2。7进度条弹窗
采用sg。onelineprogressmeter方法,括号中输入相关的参数设置内容foriinrange(1000):sg。onelineprogressmeter(进度条,i1,1000,该进度条key,这是一个进度条)
输出结果为:(会进行动态加载,直到达到100)
当然此类弹窗也有自己特有的参数设置,如下。比如常见的设置竖直的还横向的,滚动条的上下限等。
比如尝试一下不同参数的组合输出foriinrange(1,1000):sg。onelineprogressmeter(进度条,i1,1000,该进度条key,这是一个进度条,orientationh,barcolor(F47264,FFFFFF))
输出结果为:
3制作简易压缩软件
3。1功能需求
软件运行后弹出窗口让用户选择一个文件夹
用户选择后再弹出窗口让用户选择压缩包保存的位置和名称
用户输入完成后将该文件夹内所有的文件进行压缩打包
完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小
3。2功能拆解
(1)软件运行后弹出窗口让用户选择一个文件夹
popupgetfolder
(2)用户选择后再弹出窗口让用户选择压缩包保存的位置和名称
popupgetfile
saveasTrue
defaultextensionzip
(3)用户输入完成后将该文件夹内所有的文件进行压缩打包
zipfile模块
(4)完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小
os。stat读取文件信息
popup弹窗显示数据
3。3全部代码
参考代码:(主要是细节部分,对于压缩路径的设置,需要进行处理一下,不然最后解压缩的会出现很多层级的不必要文件夹)importPySimpleGUIassgimportzipfileimportos
foldersg。popupgetfolder(请选择要压缩的文件夹)zippathsg。popupgetfile(请选择要保存的压缩包位置,saveasTrue,defaultextensionzip,filetypes((压缩包,。zip),))
withzipfile。ZipFile(zippath,w)aszipobj:forfileinos。scandir(folder):zipobj。write(file。path,file。path。replace(folder,。))
zipsizeos。stat(zippath)。stsize1024sg。popup(f压缩包体积大小为:{zipsize}KB)
输出结果演示如下:(完美,撒花()
腾讯立式刷掌设备专利获授权12月13日,天眼查App显示,腾讯科技(深圳)有限公司立式刷掌设备专利获授权。专利摘要显示,本专利属于电子设备技术领域,该立式刷掌设备包括底座立柱刷掌模组人体探测传感器和动态交互
推荐8个功能强大的软件CCleanerhttpwww。piriform。comccleanerCCleaner是一个电脑清理工具。虽然Windows有很多电脑清理工具,什么360,百度的,我是不推荐你安
螽斯化石揭示中生代声学景观的演化动物听力范围(上)现生和中生代螽斯的鸣声频率分布(下)。南古所供图中新网南京12月13日电(记者杨颜慈)记者13日从中国科学院南京地质古生物研究所获悉,该所研究人员揭示了中生代螽斯
英特尔祝贺小米主机发布双方基于NUC共创,对多个方面进行打磨IT之家12月13日消息,12月11日小米发布了旗下首台桌面电脑主机小米迷你主机,仅手掌大小,首发价3699元。不少网友表示,这款主机很像英特尔的迷你主机NUC,只是体积更小一些。
uniapp写表格时列数过长时实现左右滑动效果在uniapp的组件中使用table,在移动端左右拖拽不灵敏,使用一下方法可解决!!!使用scrollview标签包裹,设置左右可滑动,宽度100,超出隐藏scrollviewsc
中国移动5G信号排行榜出炉!iPhone14ProMax遗憾落榜近日,中国移动公布了一些重要的手机数据排行榜,一时间引发网友热议。特别是关于手机信号问题的讨论最为激烈,有网友称iPhone是最不先进的手机,因为对于手机而言,最基本的功能就是通讯
京东刘强东称阳了多喝开水专家张文宏告诉你阳了怎么办文财圈社小宋近日,京东创始人刘强东在内部视频中分享了自己和十几个员工感染新冠的经历。他在视频中说大家包括他自己都没有去医院,有一位员工去医院了,医生说症状很轻微,没必要来医院。以此
女孩子眼神中的含义时尚穿搭摄影tips1。你知道女孩眼神的真正含义吗?给你一个眼神自己体会,真能体会的到嘛?大笑大笑今天来做个解读吧!耶耶女孩的心思要认真猜!机智机智(文中图片均已做好处理,无漏露及不良导向。图片来自网
蓝色优雅漂亮,永远都是时尚界的宠儿蓝色永远是时尚界的宠儿它有着永恒不朽的色调,代表着宁静与祥和,就像是无际的宇宙,引人深思令人安心。不管是家具,礼服,套装,鞋帽和首饰,简单优雅而性感,总会为这蓝色留下重要的位置,因
我放弃了华为Mate50Pro,买了小米13Pro一天后,体验不吐不快入了华为mate50pro还不到一周就退了,这次和骁龙芯片的调校属实是有点不满的,于是转手直接入了小米13pro,线下提的,和大家聊聊我的体验屏幕和影像方面屏幕大小与mix4接近,
荣耀不是华为!赵明首次回应荣耀离开华为带走了什么手机中国新闻离开华为两年,荣耀走出了一条自己的路。但刚脱离华为时,很多人都不看好荣耀的发展。荣耀不行了要完蛋了这家公司肯定起不来了离开华为这棵大树什么都不是,类似的声音特别多。但在