iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >教你用一行Python代码实现GUI图形界面
  • 919
分享到

教你用一行Python代码实现GUI图形界面

PythonGUI图形界面Python图形界面 2023-01-03 12:01:48 919人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、选择文件夹二、选择文件三、选择日期四、输入文本五、弹窗无按钮六、弹窗无标题七、弹窗只有OK按钮八、弹窗只有Error按钮(红色)九、显示通知窗口十、弹窗选择十一、自定义弹窗实

一、选择文件夹

首先导入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按钮,会直接提示没有选取文件夹。

二、选择文件

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

# 窗口显示文本框和浏览按钮, 以便选择文件
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文件,最终结果返回了所有文件的路径地址。

三、选择日期

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

# 窗口显示文本框和浏览按钮, 以便选择文件
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)

示例如下

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

四、输入文本

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

# 显示文本输入框, 输入文本信息, 返回输入的文本, 如果取消则返回None
text = 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按钮,会提示没有文本输入。

五、弹窗无按钮

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

结果如下

六、弹窗无标题

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

结果如下

七、弹窗只有OK按钮

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

结果如下

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

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

结果如下

九、显示通知窗口

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

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

十、弹窗选择

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

结果如下

十一、自定义弹窗

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

# 自定义创建弹窗, 一行代码完成
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)

结果如下

实战

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

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

from pathlib import Path
import PySimpleGUI as sg
import 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图形界面的文章就介绍到这了,更多相关Python GUI图形界面内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你用一行Python代码实现GUI图形界面

本文链接: https://www.lsjlt.com/news/176498.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 教你用一行Python代码实现GUI图形界面
    目录一、选择文件夹二、选择文件三、选择日期四、输入文本五、弹窗无按钮六、弹窗无标题七、弹窗只有OK按钮八、弹窗只有Error按钮(红色)九、显示通知窗口十、弹窗选择十一、自定义弹窗实...
    99+
    2023-01-03
    Python GUI图形界面 Python 图形界面
  • 教你如何用一行Python代码实现GUI图形界面
    目录1、选择文件夹2、选择文件3、选择日期4、输入文本5、弹窗无按钮6、弹窗无标题7、弹窗只有OK按钮8、弹窗只有Error按钮(红色)9、显示通知窗口10、弹窗选择11、自定义弹窗...
    99+
    2024-04-02
  • 怎么用一行Python代码实现GUI图形界面
    本篇内容介绍了“怎么用一行Python代码实现GUI图形界面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!主要使用Python的PySimp...
    99+
    2023-06-30
  • Python不用Gui怎么实现图形界面
    这篇文章主要介绍了Python不用Gui怎么实现图形界面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python不用Gui怎么实现图形界面文章都会有所收获,下面我们一起来看看吧。神器出场Web 程序是用 Fl...
    99+
    2023-07-06
  • Python GUI 图形用户界面
    目录GUI介绍简单操作tkinter组件介绍向窗体中添加按钮控件使用文本框控件使用菜单控件使用标签控件使用单选按钮和复选按钮组件使用绘图组件GUI介绍 图形用户界面(Graphica...
    99+
    2024-04-02
  • Python小技之不用 Gui,照样实现图形界面
    如果说程序员有什么怕的,那我想可能就是 —— 需求又变了!这不,客户在笔者开发完一个基于浏览器的 Web 应用程序之后说:程序需要在内(无)部(网)环境中运行……这就意味着无法安装 Python 环境!谁叫咱是程序员呢,不就开发一个 GUI...
    99+
    2023-05-14
    Python 界面 GUI
  • Python GUI图形用户界面怎么使用
    这篇文章主要介绍“Python GUI图形用户界面怎么使用”,在日常操作中,相信很多人在Python GUI图形用户界面怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python&...
    99+
    2023-07-02
  • python实现图形界面执行linux命
       学习python图形执行命令,根据网上的资料,自己写了一个,linux图形界面绝对是没有命令好用的,不过,发这个文章是在于学习不在于使用,写得不好的地方,欢迎各位提出意见    [root@localhost ~]# cat cmd...
    99+
    2023-01-31
    图形界面 python linux
  • 实现Python图形界面框架TkInter写GUI界面应用简介过程操作
    前言 它的底层是Tcl/Tk,先用起来再说,另外Python毕竟是面向对象语言,所以全文会使用到class和对象,尽量日后能满足开发项目的需求。 (备注:Tcl/Tk 是一种简明,高...
    99+
    2024-04-02
  • 使用PyQt5设计GUI实现程序图形界面设计
    目录一、熟悉designer——设计界面的神器1.首先打开designer。2.创建窗口3.熟悉各部功能区域二、设计自己的第一个GUI。1.在designer中拖动控件来完善窗口程序...
    99+
    2024-04-02
  • 操作系统命令行界面(CLI)与图形用户界面(GUI)的比较
    命令行界面(CLI)是一种用户界面,允许用户通过键入命令来与计算机交互。CLI 通常用于管理系统文件和配置、运行应用程序和执行其他任务。CLI 的主要优点是其灵活性和强大性。用户可以使用 CLI 来执行各种各样的任务,而且 CLI 通常比...
    99+
    2024-02-22
    CLI和GUI 命令行界面 图形用户界面 交互式命令 图标 菜单
  • Python tkinter(GUI编程)模块教程:打造出精美图形用户界面
    随着程序越来越复杂,命令行已经无法满足我们的需求,图形化界面已成为当前主流的界面设计。在Python中,tkinter是一种简单易用的GUI编程工具,可以帮助我们快速地创建图形用户界面。本文将通过实例...
    99+
    2023-08-31
    python
  • Python实现图形用户界面计算器
    本文实例为大家分享了Python实现图形用户界面计算器的具体代码,供大家参考,具体内容如下 简易用户图形界面计算器设计思路: 简易图形用户界面计算器的界面和功能设计如下: (1)第...
    99+
    2024-04-02
  • 教你用python实现一个无界面的小型图书管理系统
    目录一、需求了解二、环境准备三、代码实现一、需求了解 功能模块 图书信息 二、环境准备 安装mysql数据库 参考文章: MySQL数据库压缩版本安装与配置 MySQL msi版...
    99+
    2024-04-02
  • GUI 与图形用户界面在教育中的作用:增强学习
    GUI 在教育中的作用: GUI(图形用户界面)在教育中发挥着至关重要的作用,因为它为学生提供了一种直观、交互式和用户友好的学习环境。通过图形元素(例如按钮、菜单和图标)取代复杂的文本命令,GUI 降低了技术障碍,让学生能够轻松地与教育...
    99+
    2024-03-09
    GUI 图形用户界面 教育 学习 认知 交互式
  • Java GUI攻略:打造美观实用的图形用户界面
    1. 探索Java GUI的魅力 Java GUI作为Java应用程序的重要组成部分,为用户提供了直观友好的图形界面,大大提升了用户操作的便利性和体验感。Java GUI主要基于两个核心类库:AWT(Abstract Window To...
    99+
    2024-02-27
    Java GUI、图形界面、Swing、AWT、布局管理、事件处理
  • 基于Python的GUI图形用户界面编程详细讲解
    目录前言    常用的GUI库1.Tkinter2.wxPython3.PyQT基于tkinter模块创建GUI程序步骤主窗口设置主窗口位置和大小GUI...
    99+
    2022-12-29
    python的图形界面gui编程 python开发gui界面 Python gui界面
  • VBS脚本如何实现GUI图形界面和日志清除功能
    这篇文章给大家分享的是有关VBS脚本如何实现GUI图形界面和日志清除功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用方法:将下面的代码保存为rizhi.vbs双击运行即可,如果不行可能是杀毒软件的问题。可以...
    99+
    2023-06-08
  • 如何利用一行python代码实现灰度图抠图
    这篇“如何利用一行python代码实现灰度图抠图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何利用一行python代码实...
    99+
    2023-06-30
  • 一行 Python 代码实现并行
    Python 在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和 GIL,我觉得错误的教学指导才是主要问题。常见的经典 Python 多线程、多进程教程多显得偏"重"。而且往往隔靴搔痒,没有深入探讨日常工作中最有用的内容。...
    99+
    2023-05-14
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作