千家信息网

怎么用一行Python代码实现GUI图形界面

发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,本篇内容介绍了"怎么用一行Python代码实现GUI图形界面"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2025年11月06日怎么用一行Python代码实现GUI图形界面

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

主要使用Python的PySimpleGUI库来完成这个工作。

# 安装PySimpleGUIpip install PySimpleGUI -i https://mirror.baidu.com/pypi/simple

1、选择文件夹

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

import PySimpleGUI as sg # 窗口显示文本框和浏览按钮, 以便选择一个文件夹dir_path = sg.popup_get_folder("Select Folder")if not dir_path:    sg.popup("Cancel", "No folder selected")    raise SystemExit("Cancelling: no folder selected")else:    sg.popup("The folder you chose was", dir_path)

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

示例如下

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

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

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

2、选择文件

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

# 窗口显示文本框和浏览按钮, 以便选择文件fname = sg.popup_get_file("Choose Excel file", multiple_files=True, file_types=(("Excel Files", "*.xls*"),),)if not fname:    sg.popup("Cancel", "No filename supplied")    raise SystemExit("Cancelling: no filename supplied")else:    sg.popup("The filename you chose was", fname)

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

示例如下

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

3、选择日期

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

# 显示一个日历窗口, 通过用户的选择, 返回一个元组(月, 日, 年)date = sg.popup_get_date()if not date:    sg.popup("Cancel", "No date picked")    raise SystemExit("Cancelling: no date picked")else:    sg.popup("The date you chose was", date)

示例如下

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

4、输入文本

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

# 显示文本输入框, 输入文本信息, 返回输入的文本, 如果取消则返回Nonetext = sg.popup_get_text("Please enter a text:")if not text:    sg.popup("Cancel", "No text was entered")    raise SystemExit("Cancelling: no text entered")else:    sg.popup("You have entered", text)

键入信息,示例如下

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

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

5、弹窗无按钮

# 显示一个弹窗, 但没有任何按钮sg.popup_no_buttons("You cannot click any buttons")

结果如下

6、弹窗无标题

# 显示一个没有标题栏的弹窗sg.popup_no_titlebar("A very simple popup")

结果如下

7、弹窗只有OK按钮

# 显示弹窗且只有OK按钮sg.popup_ok("You can only click on 'OK'")

结果如下

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

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

结果如下

9、显示通知窗口

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

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

10、弹窗选择

# 显示弹窗以及是和否按钮, 选择判断answer = sg.popup_yes_no("Do you like this video?")sg.popup("You have selected", answer)

结果如下

11、自定义弹窗

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

# 自定义创建弹窗, 一行代码完成choice, _ = sg.Window(    "Continue?",    [[sg.T("Do you want to subscribe to this channel?")], [sg.Yes(s=10), sg.No(s=10), sg.Button('Maybe', s=10)]],    disable_close=True,).read(close=True)sg.popup("Your choice was", choice)

结果如下

12、实战

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

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

from pathlib import Pathimport PySimpleGUI as sgimport xlwings as xw # 选择输入文件夹INPUT_DIR = sg.popup_get_folder("Select an input folder")if not INPUT_DIR:    sg.popup("Cancel", "No folder selected")    raise SystemExit("Cancelling: no folder selected")else:    INPUT_DIR = Path(INPUT_DIR) # 选择输出文件夹OUTPUT_DIR = sg.popup_get_folder("Select an output folder")if not OUTPUT_DIR:    sg.popup("Cancel", "No folder selected")    raise SystemExit("Cancelling: no folder selected")else:    OUTPUT_DIR = Path(OUTPUT_DIR) # 获取输入文件夹中所有xls格式文件的路径列表files = list(INPUT_DIR.rglob("*.xls*")) with xw.App(visible=False) as app:    for index, file in enumerate(files):        # 显示进度        sg.one_line_progress_meter("Current Progress", index + 1, len(files))        wb = app.books.open(file)        # 提取sheet表为单独的Excel表格        for sheet in wb.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("Task done!")

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

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

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

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

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

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

文件 选择 按钮 文件夹 输入 文本 结果 代码 信息 方法 路径 一行 只有 示例 地址 日期 提示 输出 图形 界面 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学软件开发都做什么工作吗 移动计算软件开发技术怎么样 王者荣耀可以开服务器 网络安全的要点及部署 天刀手游q3区服务器 学校网络安全实验室 网络安全南水北调 小学生关于网络安全诗歌 元亨证通网络技术人才服务武汉 南京锐丰互联网科技 内蒙古专业软件开发服务价格优惠 服务器交付的安全检查 在中国有什么打车软件开发 学数据库课程 网络安全至战略层面 pgsql数据库创建临时表 铁岭机器人量化交易软件开发公司 连接数据库11001 计算机网络技术网络维护 佳能无线打印服务器 湖南天迹网络技术 狗狗翻译器软件开发 电子图书服务器系统怎么安装 梦幻西游哪个服务器最多人玩 对数据库管理系统评价的主要指标 计算机网络技术专业的大学 软件开发人员工作评估指标 计算机网络技术工资最高是多少 金蝶服务器怎么更新 免费体验一月的服务器
0