PySimpleGUI简单介绍


 

Python 在运维和办公自动化中扮演着重要的角色,PySimpleGUI 是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。

 

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左右自动退出,除了以上的简单的默认函数外,还可以手动设置参数,相关的参数如下

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

 
  1. sg.popup(

  2. '这是弹窗',

  3. title='Hello',

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

  5. background_color='#F47264',

  6. line_width=2,

  7. custom_text=' 好的 '

  8. )

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

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

 

2.3 文字内容弹窗

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

 
  1. text = '''大家好,

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

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

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

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

 

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

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

  2. print(text1)

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

  4. 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()方法,括号中输入相关的参数设置内容

 
  1. for i in range(1000):

  2. sg.one_line_progress_meter(

  3. '进度条',

  4. i + 1,

  5. 1000,

  6. '该进度条key',

  7. '这是一个进度条'

  8. )

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

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

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

 
  1. for i in range(1, 1000):

  2. sg.one_line_progress_meter(

  3. '进度条',

  4. i + 1,

  5. 1000,

  6. '该进度条key',

  7. '这是一个进度条',

  8. orientation='h',

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

  10. )

输出结果为:
3 制作程序

不废话直接上代码

import PySimpleGUI as sg
from os import system
import time
for i in range(1, 1000):
  sg.one_line_progress_meter(
    '正在加载中',
    i + 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,
    1000,
    '正在打开小魏程序中',
    '请稍等',
    orientation='h',
    bar_color=('#F47264', '#FFFFFF')
  )
text = '''请您先注册'''
sg.popup_scrolled(text,title='小魏软件')
mima = sg.popup_get_text('请注册密码:',password_char='*')
text1 = '''注册完成请登录'''
sg.popup_scrolled(text1,title='小魏软件')
mima1 = sg.popup_get_text('请用密码登录:',password_char='*')
if (mima == mima1):
  #自己编
else:
 #自己编
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值