Python3,1行代码,制作GUI图形界面,果然被种草了。(二)

简介: Python3,1行代码,制作GUI图形界面,果然被种草了。(二)

2.2.4 输入文本


代码示例


# -*- coding:utf-8 -*-
# @Time   : 2022-05-30
# @Author : carl_DJ
import PySimpleGUI as psg
"选择日期"
# 显示一个日历窗口, 通过用户的选择, 返回一个元组(月, 日, 年)
date = psg.popup_get_date()
if not date:
    psg.popup("Cancel", "No date picked")
    raise SystemExit("Cancelling: no date picked")
else:
    psg.popup("The date you chose was", date)


运行结果


一、静态图

image.png

二、动态图

image.png


2.2.5 弹窗显示


代码示例


# -*- coding:utf-8 -*-
# @Time   : 2022-05-30
# @Author : carl_DJ
import PySimpleGUI as psg
"弹窗"
#显示一个弹窗, 但没有任何按钮
psg.popup_no_buttons("You cannot click any buttons")
# 显示一个没有标题栏的弹窗
psg.popup_no_titlebar("A very simple popup")
# 显示弹窗且只有OK按钮
psg.popup_ok("You can only click on 'OK'")
# 显示弹窗且只有error按钮, 按钮带颜色
psg.popup_error("Something went wrong")
# 显示一个“通知窗口”, 通常在屏幕的右下角, 窗口会慢慢淡入淡出
psg.popup_notify("Task done!")



运行结果


一、无按钮弹窗

image.png

二、无标题栏

image.png


三、只有OK按钮

image.png


四、只有error按钮

image.png


五、通知窗口

image.png


2.2.6 弹窗选择


代码示例


# -*- coding:utf-8 -*-
# @Time   : 2022-05-30
# @Author : carl_DJ
import PySimpleGUI as psg
"选择弹窗"
# 显示弹窗以及是和否按钮, 选择判断
answer = psg.popup_yes_no("Do you like 王心凌?")
psg.popup("You have selected", answer)


运行结果

image.png

点击 Yes


image.png

2.2.7 自定义弹窗

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-05-30
# @Author : carl_DJ
import PySimpleGUI as psg
"选择弹窗"
# 显示弹窗以及是和否按钮, 选择判断
answer = psg.popup_yes_no("Do you like 王心凌?")
psg.popup("You have selected", answer)


运行结果

image.png


2.3 综合实战


熟悉了各个功能的用法, 我们现在就整合起来, 来一次汇总实战。

目标:将某个文件夹下所有的Excel文件中的sheet表,保存为单独的Excel文件。


代码示例


# -*- coding:utf-8 -*-
# @Time   : 2022-05-30
# @Author : carl_DJ
from pathlib import Path
import PySimpleGUI as psg
import xlwings as xlw
# 选择输入文件夹
INPUT_DIR = psg.popup_get_folder("Select an input folder")
if not INPUT_DIR:
    psg.popup("Cancel", "No folder selected")
    raise SystemExit("Cancelling: no folder selected")
else:
    INPUT_DIR = Path(INPUT_DIR)
# 选择输出文件夹
OUTPUT_DIR = psg.popup_get_folder("Select an output folder")
if not OUTPUT_DIR:
    psg.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):
        # 显示进度
        psg.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()
psg.popup_ok("Task done!")


3、总结


今天的分享,就到这里了。

是不是奇奇怪怪的姿势,又增加了呢。

其实Tkinter 和PySimpleGUI 各有利弊。

不管是 Tkinter还是PySimpleGUI,如果工作需要, 必须要掌握一个,

还是有限推荐Tkinter,毕竟是自带库,

当然,我们的知识不能局限于自带库, 扩展知识,才是我们的目的。


关注小鱼博客,带你学习更多关于python第三方库的知识。


目录
相关文章
|
3月前
|
开发框架 开发者 Python
探索Python GUI编程:从Tkinter到PyQt的全方位使用
在当今技术发展日新月异的时代,Python作为一种简洁高效的编程语言,拥有广泛的应用领域。其中,GUI(图形用户界面)编程是Python开发者经常涉足的领域之一。本文将介绍两个常用的Python GUI库——Tkinter和PyQt,并深入探讨其使用方法、特点以及适用场景,帮助读者全面了解Python GUI编程的魅力。
|
3月前
|
存储 Python
Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序
Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序
37 0
|
3月前
|
数据可视化 Linux C++
Python GUI编程:Tkinter与PyQt的选择
Python作为一门流行的编程语言,在GUI编程领域也有着非常强大的工具。其中,Tkinter和PyQt是两个备受推崇的GUI库。本文将介绍这两个库的优缺点,并帮助读者决定应该选择哪一个。
58 0
|
1月前
|
API 开发工具 C++
Python图形用户界面(GUI)编程:大解密
Python图形用户界面(GUI)编程:大解密
56 0
|
1月前
|
SQL 算法 API
NiceGui:Python中的轻量级GUI框架初体验
NiceGui:Python中的轻量级GUI框架初体验
137 0
|
3月前
|
Python
python gui程序禁止程序二次启动
python gui程序禁止程序二次启动
23 0
|
3月前
|
API Python
基于Python PYQT5的GUI亚丁号辅助登陆界面
基于Python PYQT5的GUI亚丁号辅助登陆界面
17 2
|
3月前
|
小程序 Linux API
基于Python的GUI框架toolkit-frame介绍
基于Python的GUI框架toolkit-frame介绍
13 0
|
3月前
|
Shell iOS开发 MacOS
Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
|
3月前
|
Python
Python GUI编程的两种选择:Tkinter与PyQt
Python作为一门流行的编程语言,其GUI编程也备受关注。在GUI编程中,Tkinter和PyQt是两种常见的选择。本文将从简介、使用、优缺点等多个方面对比这两种框架,以帮助读者选择适合自己的工具。