原博地址

知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息

如若转载,请标明出处,谢谢!

1 PySimpleGUI安装

在命令行/终端输入:pip install pysimplegui,等待安装完成后,进入python环境,输入import PySimpleGUI回车无误后,确认安装成功

2 PySimpleGUI制作简易弹窗界面

2.1 两种界面设计模式

(1) 单次显示界面(one-shot window)

类似于弹窗,出现一次

常用于提示信息,收集信息

(2)持续显示界面(Persistent window)

持续不断显示,除非用户手动关闭

常作为软件的主界面

2.2 制作弹窗

官网默认的库的缩写为sg,使用时建议保持统一,也是使用sg

弹窗类型:(第一种和第二种是一致的)

sg.popup('注意!')

sg.popup_ok('默认弹窗')

sg.popup_yes_no('带Yes和No按钮的弹窗')

sg.popup_cancel('带cancel按钮的弹窗')

sg.popup_ok_cancel('带OK和cancel按钮的弹窗')

sg.popup_error('带红色error按钮的弹窗')

sg.popup_auto_close('几秒后自动关闭的弹窗')

最后一个执行后程序会在2s左右自动退出,除了以上的简单的默认函数外,还可以手动设置参数,相关的参数如下

比如设置一个定制化的小窗口,进行相关参数的添加

sg.popup(

'这是弹窗',

title='Hello',

button_color=('#A81B0C', '#FFFFFF'),

background_color='#F47264',

line_width=2,

custom_text=' 好的 '

)

输出结果:(第一个参数就是要显示的信息,可以是单个,也可多个字符串,多个字符串时候,默认换行,如果是单个字符串可以通过line_with指定每行的宽度)

当第一个参数是多个字符串时,自动换行显示(由于自动的窗体长宽很小,所以标题就没有看到,但不是代表不显示,下面的示例中就可以看到)

2.3 文字内容弹窗

采用popup_scrolled()方法,括号中添加要显示的内容即可

text = '''大家好,

我们一起来学习PySimpleGUI制作简单的图形用户界面。'''

sg.popup_scrolled(text,title='Hello')

输出结果为:(这里的标题就正常的显示出来了)

这个文字内容弹窗里面也有相关的设置参数,可以根据自己的需要进行设置,参数如下:(注意之前的弹窗的参数也可以在这类弹窗中使用,比如刚刚用的title)

2.4 获取用户输入的弹窗

采用popup_get_text()方法,括号内容有点类似input()语句中的提示语,提醒用户输入

text1 = sg.popup_get_text('请输入文字1')

print(text1)

text2 = sg.popup_get_text('请输入文字2')

print(text2)

输出结果为:(当点击Ok时候控制台输出端就会获取到用户输入的文字,如果是点击Cancel,输出端为None,这里执行了两次用户输入弹出的指令,当第一次输入后点击Ok会自动弹出第二个窗口)

该类弹窗也有自己特定的参数供选择,比如既然进行输入的操作,有时输入密码时候就不希望别人看到,就可以采用输入的显示方式,如下

测试进行密码隐藏输入,可以直接顺势将用户输入的密码也以弹窗的形式展现

2.5 文件选择弹出窗口

直接采用sg.popup_get_file()方法,括号里面的内容也是输入的提示语

选择后就会把详细的地址直接显示在输入框中,如下

那么同样该类弹出也有自己的特有属性参数设置,具体如下。里面的每个参数几乎都是超级常用的参数,可以自行测试一下。

默认后缀,这个参数也是常用的,比如在sublime中点击另存为时候,本身是py文件,在给文件命名的时候只需要输出文件名,后缀自动给添加上去了。

2.6 文件夹选择窗口

采用sg.popup_get_folder()方法,括号里面的内容也是输入的提示语。执行程序后会弹出选择文件的窗口,鼠标选择后就会把文件夹的路径添加到输入框中

2.7 进度条弹窗

采用sg.one_line_progress_meter()方法,括号中输入相关的参数设置内容

for i in range(1000):

sg.one_line_progress_meter(

'进度条',

i + 1,

1000,

'该进度条key',

'这是一个进度条'

)

输出结果为:(会进行动态加载,直到达到100%)

当然此类弹窗也有自己特有的参数设置,如下。比如常见的设置竖直的还横向的,滚动条的上下限等。

比如尝试一下不同参数的组合输出

for i in range(1, 1000):

sg.one_line_progress_meter(

'进度条',

i + 1,

1000,

'该进度条key',

'这是一个进度条',

orientation='h',

bar_color=('#F47264', '#FFFFFF')

)

输出结果为:

3 制作简易压缩软件

3.1 功能需求

软件运行后弹出窗口让用户选择一个文件夹

用户选择后再弹出窗口让用户选择压缩包保存的位置和名称

用户输入完成后将该文件夹内所有的文件进行压缩打包

完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小

3.2 功能拆解

(1)软件运行后弹出窗口让用户选择一个文件夹

popup_get_folder()

(2)用户选择后再弹出窗口让用户选择压缩包保存的位置和名称

popup_get_file()

save_as=True

default_extension = 'zip'

(3)用户输入完成后将该文件夹内所有的文件进行压缩打包

zipfile模块

(4)完成压缩后再弹出一个窗口告诉用户这个压缩包的体积大小

os.stat()读取文件信息

popup()弹窗显示数据

3.3 全部代码

参考代码:(主要是细节部分,对于压缩路径的设置,需要进行处理一下,不然最后解压缩的会出现很多层级的不必要文件夹)

import PySimpleGUI as sg

import zipfile

import os

folder = sg.popup_get_folder('请选择要压缩的文件夹')

zip_path = sg.popup_get_file(

'请选择要保存的压缩包位置',

save_as=True,

default_extension='zip',

file_types=(('压缩包', '.zip'), )

)

with zipfile.ZipFile(zip_path, 'w') as zipobj:

for file in os.scandir(folder):

zipobj.write(file.path, file.path.replace(folder, '.'))

zip_size = os.stat(zip_path).st_size // 1024

sg.popup(f'压缩包体积大小为:{zip_size} KB')

输出结果演示如下:(完美,撒花✿✿ヽ(°▽°)ノ✿)

原文链接:https://blog.csdn.net/lys_828/article/details/111238568

python做界面小软件_PySimpleGUI图形界面绘制及办公自动化小软件的制作相关推荐

  1. python做界面用什么软件好_pyqt | 做一个好用的图形界面软件

    原标题:pyqt | 做一个好用的图形界面软件 pyqt5快速开发与实战 什么是pyqt? PyQt是一个用python创建GUI(图形界面)应用程序的工具包它是Python编程语言和Qt库的成功融合 ...

  2. PySimpleGUI图形界面绘制及办公自动化小软件的制作

    PySimpleGUI图形界面绘制及办公自动化小软件的制作 1 PySimpleGUI安装 2 PySimpleGUI制作简易弹窗界面 2.1 两种界面设计模式 2.2 制作弹窗 2.3 文字内容弹窗 ...

  3. pyqt开发新浪微博粉丝聊天软件v1(图形界面)

    pyqt开发新浪微博粉丝聊天软件v1(图形界面): 实现效果如下: 当你点击聊友时:弹出聊天对话框 当点击我自己时,弹出我所在的IP地址: 代码如下: # -*- coding: utf-8 -*- ...

  4. 【Python】如何用python做一个简单的输入输出交互界面?

    看到知乎上有人在问,如何使用Python做一个简单的输入输出交互界面? 交互界面就涉及到GUI编程. Python有很多GUI框架,功能大同小异. 其中比较出名的有「PyQT」.**wxPython. ...

  5. 【新手向】Python做一个简易登录注册GUI界面(无事件绑定)

    Python做一个简易登录注册GUI界面 一,效果展示 (1)运行结果: (2)点击登录: 注:只有用户名:123 密码123456 会提示登录成功. 登录成功示范: 登录失败示范: (3)点击注册 ...

  6. 使用Qt Designer制作软件的图形界面

    介绍 Qt Designer是一款设计和构建图形用户界面的Qt工具,本文介绍如何使用Qt Manager制作软件的图形界面. 安装 使用Qt Manager时,首先在python的环境中安装pyqt, ...

  7. 【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )

    文章目录 一.绘制多图 1.绘制多图 2.代码示例 二.设置图形对话框在 Windows 界面的位置和大小 三.在一个图形上绘制多个小图形 一.绘制多图 1.绘制多图 存在一种绘图情况 , 需要同时展 ...

  8. python汽车类型识别源代码带图形界面,基于PyTorach深度学习

    python汽车类型识别源代码带图形界面,基于torch深度学习,目前可识别公交车, 货车,客运车, 面包车, 皮卡车, 小轿车,程序包中已含模型文件 完整代码下载地址:python汽车类型识别源代码 ...

  9. kali 切换图形界面_kali Linux 文本图形界面切换遇到的怪问题

    前段装了在Virtual Box上装一个Kali Linux玩,然后设为了开机进入文本界面,后来遇到无法上网的问题,网上找到解决方法,说是NAT地址转换和host-only双网卡顺序问题,按照网上的说 ...

最新文章

  1. 计算机协会成立活动简报,“中国计算机学会CCF走进高校”活动在我校举行
  2. java开发经验分享_java开发经验分享(一)
  3. mysql四个字符串类型_mysql的数据类型4---字符串类型
  4. php求二维矩阵的最大子矩阵,最大子矩阵-动态规划
  5. 抖音之后,互联网失去创造力
  6. 从动力学角度看优化算法SGD:一些小启示
  7. 《每日一题》48. Rotate Image 旋转图像
  8. 浅谈构造函数与构析函数的调用顺序(转载)
  9. 初窥Linux 之 我最常用的20条命令
  10. Python文件的读取与写入
  11. 什么是大平层?大平层比别墅好吗?
  12. jsp框架html,GUI构建:[jsp风格的框架通常]对由模板生成的HTML代
  13. 剑指offer系列33:和为S的两个数字VS何为S的连续正数
  14. DEM数据如何生成高程点
  15. 从实验开始零基础学网络路由交换 十一,配置直连路由
  16. c#记录合并PDF和word
  17. 计算机辅助翻译与笔译的关系,机器翻译 vs 计算机辅助翻译:有什么区别?
  18. 机器学习之One-Hot Encoding详解
  19. 有什么能测试安卓硬件的软件吗,手机硬件检测工具有哪些 总有一款适合你
  20. 【兴趣】QQ音乐VS网易云音乐竞品分析

热门文章

  1. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(11) - 数据可缓存性控制指令
  2. 数据库恢复子系统的常见技术和方案对比(一)
  3. android不同机型编译不同so,如何使用adb命令查看android中的数据库
  4. Keras-9 实现Seq2Seq
  5. 流媒体服务器性能测试
  6. 032——VUE中表单控件处理之复选框的处理
  7. Ubuntu 16.04安装录屏软件SimpleScreenRecorder
  8. 用lsof恢复已删除的文件
  9. Exchange2010安装过程中先决条件报错得处理方法
  10. python udp通信_Python实现UDP程序通信过程图解