源代码Python自动化办公社区
互连
https://blog.csdn.net/lys_828/article/details/11123856
Python在运维、办公自动化中发挥着重要作用。PySimpleGUI是一个优秀的自动化辅助模块,让你更容易实现日常任务的自动化。
1 PySimpleGUI安装在命令行/终端输入:pip install pysimplegui,等待安装完成,进入python环境,输入import PySimpleGUI,输入car确认安装成功。
2 PySimpleGUI制作简单的弹出界面
2.1两种界面设计模式
(1)一次性窗口)/S2/]
2.2制作弹出窗口
官网默认库的缩写是sg,使用时建议保持统一,也用sg。
弹出窗口类型:(第一种和第二种类型一致)
比如设置自定义小窗口,添加相关参数。
Sg.popup('这是一个弹出窗口',title =' hello ',button _ color = ('# A81b0c ',' # ffffff '),background _ color =' # F47264 ',line _ width = 2,Custom_text=' OK ')输出结果:(第一个参数是要显示的信息,可以是单个或多个字符串。如果有多个字符串,默认换行;如果是单个字符串,每行的宽度可以由line_with指定)
当第一个参数是多个字符串时,会显示自动换行(因为自动表单的长度和宽度都很小,所以看不到标题,但不代表不会显示,下面的例子就可以看出来)。
2.3文本内容弹出窗口
使用popup_scrolled方法,只需添加要在括号中显示的内容。
Text = ' ' '大家好,我们来学习PySimpleGUI制作简单的图形用户界面吧。'SG。popup _ scrolled (text,title =' hello ')输出结果为:(此处标题正常显示)
这个文本内容弹出里也有相关的设置参数,可以根据自己的需要进行设置。参数如下:(注意前一个弹出的参数也可以用在这类弹出中,比如刚刚用的标题)
2.4获取用户输入的弹出窗口
使用popup_get_text方法,括号的内容有点类似于input语句中提醒用户输入的提示。
Text1 = sg.popup_get_text('请输入文本1') print (text1) text2 = SG。popup _ get _ text(' please enter text 2 ')print(text 2)输出结果为:(当你点击Ok时,用户输入的文本会在控制台输出得到;如果单击Cancel,输出将是None,在这里执行。
这种弹窗也有自己特定的参数可供选择。例如,既然进行了输入操作,有时你不想让别人看到密码,那么你可以使用输入显示模式,如下
测试密码隐藏输入,用户输入的密码可以直接以弹出的形式出现。
2.5文件选择弹出窗口
直接使用sg.popup_get_File方法,括号内的内容也是输入提示。
选择后,详细地址将直接显示在输入框中,如下
那么这种弹出也有自己独特的属性参数设置,如下。里面几乎每个参数都是超常用的参数,可以自己测试。
默认情况下,该参数也是常用的。例如,当您在sublime中单击“另存为”时,它是一个py文件。命名文件时,只需输出文件名,后缀会自动添加。
2.6文件夹选择窗口
采用sg.popup_get_folder方法,括号内的内容也是输入提示。执行程序后会弹出选择文件的窗口,鼠标选择后会将文件夹的路径添加到输入中。
2.7进度条弹出窗口
使用sg.one_line_progress_meter方法,在括号内输入相关参数设置。
I在范围内(1000): SG。one _ line _ progress _ meter('进度条',i+1,1000,'这个进度条键','这是一个进度条')输出结果是:(会动态加载,直到达到100%)
当然,这种弹窗也有自己独特的参数设置,如下。例如,常见的设置有垂直和水平、滚动条的上下限等。
例如,尝试不同参数的组合输出。
I在幅度内(1 100):SG。one _ line _ progress _ meter('进度条',i+1,1000,'这个进度条键','这是一个进度条',orientation =' h ',bar _ color = ('# f47266)
3制作简单的压缩软件
3.1功能要求
3.2功能分解
(1)软件运行后,弹出窗口让用户选择文件夹。
3.3所有代码
参考代码:(主要是细节,压缩路径的设置需要处理,否则最后解压会有很多级不必要的文件夹)
导入pysimpleguias SG导入zipfile导入OS
folder = SG。popup _ get _ folder('请选择要压缩的文件夹')zip_path = sg.popup_get_file('请选择压缩包保存的位置',Save _ as = true,default _ extension =' zip ',file _ types =(('压缩包','。zip '),)
用zipfile.zipfile (zip _ path,' w ')作为zip obj:for file in OS . scandir(folder):zip obj . write(file . path,file.path.replace(folder,。)
zip _ size = OS。stat (zip _ path)。st _ size//1024sg。popup (f '压缩包大小:{zip_size} KB ')输出结果如下:(完美,散花(0 \)