怎么用一行python代码实现gui图形界面-mile米乐体育

怎么用一行python代码实现gui图形界面

本篇内容介绍了“怎么用一行python代码实现gui图形界面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

主要使用python的pysimplegui库来完成这个工作。

#安装pysimpleguipipinstallpysimplegui-ihttps://mirror.baidu.com/pypi/simple

1、选择文件夹

首先导入pysimplegui库,并且用缩写sg来表示。

importpysimpleguiassg#窗口显示文本框和浏览按钮,以便选择一个文件夹dir_path=sg.popup_get_folder("selectfolder")ifnotdir_path:sg.popup("cancel","nofolderselected")raisesystemexit("cancelling:nofolderselected")else:sg.popup("thefolderyouchosewas",dir_path)

通过使用pysimplegui的popup_get_folder()方法,一行代码就能实现选择文件夹的操作。

示例如下

点击browse按钮,选择文件夹,文本框就会显示出文件夹的绝对路径。

点击ok按钮,显示最终选择的路径信息,再次点击ok按钮,结束窗口。

如果没有选择文件夹,而是直接点击ok按钮,会直接提示没有选取文件夹。

2、选择文件

选择文件操作和上面选择文件夹的有点相似。

#窗口显示文本框和浏览按钮,以便选择文件fname=sg.popup_get_file("chooseexcelfile",multiple_files=true,file_types=(("excelfiles","*.xls*"),),)ifnotfname:sg.popup("cancel","nofilenamesupplied")raisesystemexit("cancelling:nofilenamesupplied")else:sg.popup("thefilenameyouchosewas",fname)

不同的是,选择文件可以设置multiple_files(是否为多个文件)和file_types(文件类型)参数。

示例如下

选择了多个excel文件,最终结果返回了所有文件的路径地址。

3、选择日期

使用popup_get_date()方法,显示一个日历窗口。

#显示一个日历窗口,通过用户的选择,返回一个元组(月,日,年)date=sg.popup_get_date()ifnotdate:sg.popup("cancel","nodatepicked")raisesystemexit("cancelling:nodatepicked")else:sg.popup("thedateyouchosewas",date)

示例如下

选择好日期后,点击ok按钮,即可返回日期元组结果。

4、输入文本

使用popup_get_text()方法,显示一个文本输入框。

#显示文本输入框,输入文本信息,返回输入的文本,如果取消则返回nonetext=sg.popup_get_text("pleaseenteratext:")ifnottext:sg.popup("cancel","notextwasentered")raisesystemexit("cancelling:notextentered")else:sg.popup("youhaveentered",text)

键入信息,示例如下

点击ok按钮,返回输入的文本信息。

如果没有输入,直接点击ok按钮,会提示没有文本输入。

5、弹窗无按钮

#显示一个弹窗,但没有任何按钮sg.popup_no_buttons("youcannotclickanybuttons")

结果如下

6、弹窗无标题

#显示一个没有标题栏的弹窗sg.popup_no_titlebar("averysimplepopup")

结果如下

7、弹窗只有ok按钮

#显示弹窗且只有ok按钮sg.popup_ok("youcanonlyclickon'ok'")

结果如下

8、弹窗只有error按钮(红色)

#显示弹窗且只有error按钮,按钮带颜色sg.popup_error("somethingwentwrong")

结果如下

9、显示通知窗口

#显示一个“通知窗口”,通常在屏幕的右下角,窗口会慢慢淡入淡出sg.popup_notify("taskdone!")

结果如下, task done提示信息淡入淡出。

10、弹窗选择

#显示弹窗以及是和否按钮,选择判断answer=sg.popup_yes_no("doyoulikethisvideo?")sg.popup("youhaveselected",answer)

结果如下

11、自定义弹窗

上面那些弹窗都是库自带的,如果想自定义创建,可以参考下面的方法。

#自定义创建弹窗,一行代码完成choice,_=sg.window("continue?",[[sg.t("doyouwanttosubscribetothischannel?")],[sg.yes(s=10),sg.no(s=10),sg.button('maybe',s=10)]],disable_close=true,).read(close=true)sg.popup("yourchoicewas",choice)

结果如下

12、实战

最后来个综合实战案例,将某个文件夹下所有的excel文件中的sheet表,一一保存为单独的excel文件

代码如下,需要安装xlwings库,其中pathlib库是内置的。

frompathlibimportpathimportpysimpleguiassgimportxlwingsasxw#选择输入文件夹input_dir=sg.popup_get_folder("selectaninputfolder")ifnotinput_dir:sg.popup("cancel","nofolderselected")raisesystemexit("cancelling:nofolderselected")else:input_dir=path(input_dir)#选择输出文件夹output_dir=sg.popup_get_folder("selectanoutputfolder")ifnotoutput_dir:sg.popup("cancel","nofolderselected")raisesystemexit("cancelling:nofolderselected")else:output_dir=path(output_dir)#获取输入文件夹中所有xls格式文件的路径列表files=list(input_dir.rglob("*.xls*"))withxw.app(visible=false)asapp:forindex,fileinenumerate(files):#显示进度sg.one_line_progress_meter("currentprogress",index 1,len(files))wb=app.books.open(file)#提取sheet表为单独的excel表格forsheetinwb.sheets:wb_new=app.books.add()sheet.copy(after=wb_new.sheets[0])wb_new.sheets[0].delete()wb_new.save(output_dir/f"{file.stem}_{sheet.name}.xlsx")wb_new.close()sg.popup_ok("taskdone!")

首先选择输入文件夹和输出文件夹的地址。

然后通过pathlib库对输入文件夹进行遍历,查找出所有xls格式文件的路径地址。

点击ok按钮后,就会开始表格转换,操作如下。

使用了one_line_progress_meter()方法显示程序处理的进度。

20表示有20次循环,原始excel文件总计有20个,需要处理20次,其他的都在上图中标示出来咯。

“怎么用一行python代码实现gui图形界面”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图