python GUI(五)预设弹窗介绍

1、弹窗的作用

弹窗的作用:
弹窗可以包含内容是个可变参数
等效于pring语句,暂停程序的运行,让用户读取一些信息

try:
print(a)
except Exception as e:
sg.Popup(e)

2、Popup弹窗介绍

sg.popup()orsg.Popup()


Popup(
	args=*<1 or N object>,
	# 可变参数
    title=None,
    # 弹窗标题,如果未设定,则默认显示可变参数的第一个文本作为标题。
    button_color=None,
    # (文本颜色,背景颜色)
    background_color=None,
    # 弹窗的背景颜色
    text_color=None,
    # 弹窗上面的文本颜色
    auto_close=False,
    # 如果设定为True,弹窗会自动关闭界面
    auto_close_duration=None,
    # 自动关闭窗口之前界面持续的时间(以秒为单位)
    custom_text=(None, None),
    # 自定义按钮上要显示的文本。可以设定一个或者两个
    non_blocking=False,
    # 非阻塞设定。如果为True,立即执行下一步。不需要等待用户的输入。
    font=None,
    # 字体大小,名称设定
    no_titlebar=False,
    # 不显示标题栏。
    grab_anywhere=False,
    # 如果为True,拖动界面进行移动。
    keep_on_top=False,
    # 如果为True,保持界面在屏幕的最前方
    location=(None, None),
    # 界面出现的位置
    any_key_closes=False,
    # 如果为True,敲打任意键盘就会关闭界面.
    # 如果为False,只用X窗口关闭按钮,用户选择,以及回车键才会关闭窗口。
    image=None,
    # 显示图片(支持base64)
    modal=True
    # 模态窗口设定。
    # 除非关闭此窗口否则其他界面不能进行操作。

    )
import  PySimpleGUI as sg

layout = [[sg.Ok()]]
windows = sg.Window('pysimplegui',layout)

while True:
    event, values = windows.read()
    print(event)
    if event==None:
        break
    if event == 'Ok':
        sg.Popup("第一行文本","第二行文本"*4,title='test',
                 button_color=("blue","red"),
                 text_color="black",
                 # auto_close=True,
                 auto_close_duration=20,
                 # custom_text=('确定','取消'),
                 # non_blocking=True,
                 font=("黑体",20),
                 no_titlebar=True,
                 grab_anywhere=True,
                 keep_on_top=True,
                 location=(0,0),
                 any_key_closes=True,
                 image="",  # 路径或base64
                 modal=True,
                 )

print("看看阻塞了没有")

关于Popup的返回值介绍

  1. 返回为None,如果点击了关闭窗口按钮 (默认情况下可以按enter键关闭,关闭键X,以及OK按钮)

  2. 返回为按钮元素的文本信息,如果点击了按钮元素。

result =sg.Popup("test"*5,any_key_closes=True)
print(result)

3、弹窗介绍PopupGetText

弹窗特征:

显示带有文本输入字段的弹出窗口。

返回输入的文本,如果关闭/取消则返回None。

sg.PopupGetText()or
sg.popup_get_text()

PopupGetText(
	message,
	# 显示的文本

    title=None,
    # 标题设定

    default_text="",
    # 输入框内默认文本设定

    password_char="",
    # 密码字符 一般设定为*

    size=(None, None),
    # 单行输入框的宽度和行高设定

    button_color=None,
    # 按钮元素的(文本颜色,背景颜色)设定

    background_color=None,
    # 界面背景颜色设定

    text_color=None,
    # 文本颜色设定

    font=None,
   	# 字体名称和大小设定

    no_titlebar=False,
    # 无标题栏设定

    grab_anywhere=False,
    # 移动窗口设定

    keep_on_top=False,
    # 保持该弹窗在界面的最前方

    location=(None, None),
    # 窗口出现的位置设定

    image=None,
    # 图片上传

    modal=True
    #模态界面设定。如果为True,其他界面无法操作。

    )
pw = '123'
for i in range(5):
    result = sg.PopupGetText("请输入密码!",title="密码输入界面",
                    default_text="密码",
                    password_char='#'
                    )
    print(result)
    if result == pw:
        windows = sg.Window('pysimplegui', [[sg.Text("完善信息")]])
        event, value = windows.read()
        exit()
    elif result == None:
        exit()
    else:
        sg.Popup("密码输入错误,请重新输入")

4、弹窗介绍PopupGetFile

弹窗特征:

显示带有文本输入字段和浏览(browse)按钮的弹出窗口,以便用户可以选择文件。

sg.PopupGetFile()or
sg.popup_get_file()


PopupGetFile(
	message,
    # 文本设定
    title=None,
    # 窗口标题设定
    default_path="",
    # 默认文件路径
    save_as=False,
    # 如果设定为True,打开按钮变成的另存为按钮,显示Save As...
    multiple_files=False,
    # 如果为True,可以多选。
    file_types=(('ALL Files', '*.*'),),
    # 设定可选文件类型。默认所有。
    no_window=False,
    # 直接打开文件资源管理器,不显示弹窗界面。
    size=(None, None),
    # 单行输入框的宽度行高的设定
    button_color=None,
    # 按钮元素(文本颜色,背景颜色)的设定
    background_color=None,
    # 整个界面的背景颜色的设定
    text_color=None,
    # 文本字体颜色的设定
    font=None,
    # 字体名称,大小设定
    no_titlebar=False,
    # 如果为True,不显示标题栏。
    grab_anywhere=False,
    # 如果为True,可以拖拽界面
    keep_on_top=False,
    # 如果为True,窗口保持在界面的最前方。
    location=(None, None),
    # 界面运行出现的初始位置)
    initial_folder=None,
    # 打开咨询管理器时默认的文件夹
    image=None,
    # 图片上传
    modal=True
    # 模态窗口)

sg.popup_get_file("请输入文件路径",
                  title="文件选择器",
                  default_path=r"C:\Users\Admin\Desktop\测试用例",
                  save_as=True,
                  multiple_files=True,
                  file_types=(("All files",'*.png'),),
                  no_window=True
                  )

返回值
关闭窗口返回的是none
在no_window=True和multiple_files=True同时为True时,返回的是元祖类型,其它情况返回的是字符串类型,当仅multiple_files=True为True时,返回的是分号分割开的字符串类型

5、弹窗介绍PopupGetFolder

弹窗特征:

显示带有文本输入字段和浏览按钮的弹出窗口,以便可以选择文件夹。

sg.PopupGetFolder()or
sg.popup_get_folder()

PopupGetFolder(
    message,
    title=None,
    default_path="",
    no_window=False,
    size=(None, None),
    button_color=None,
    background_color=None,
    text_color=None,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    initial_folder=None,
    image=None,
    modal=True)


弹窗介绍PopupAnnoying

弹窗特征:

没有标题栏,可以随意移动窗口。

PopupAnnoying(
	args=*<1 or N object>,
    title=None,
    button_color=None,
    background_color=None,
    text_color=None,
    auto_close=False,
    auto_close_duration=None,
    non_blocking=False,
    font=None,
    grab_anywhere=True,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=True)

弹窗介绍PopupAutoClose

弹窗特征:

显示一段时间后自动关闭窗口。

PopupAutoClose(
	args=*<1 or N object>,
    title=None,
    button_color=None,
    background_color=None,
    text_color=None,
    auto_close=True,
    auto_close_duration=None,
    non_blocking=False,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=True)

弹窗介绍PopupCancel

弹窗特征:

含有一个Cancelled的按钮。

PopupCancel(args=*<1 or N object>,
    title=None,
    button_color=None,
    background_color=None,
    text_color=None,
    auto_close=False,
    auto_close_duration=None,
    non_blocking=False,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=True)

弹窗介绍PopupOKCancel

弹窗特征:

弹窗含有OK和Cancel两个按钮。

PopupOKCancel(args=*<1 or N object>,
    title=None,
    button_color=None,
    background_color=None,
    text_color=None,
    auto_close=False,
    auto_close_duration=None,
    non_blocking=False,
    icon=...,
    line_width=None,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=True)

弹窗介绍PopupError

弹窗特征:

含有一个带有颜色的Error按钮


PopupError(args=*<1 or N object>,
    title=None,
    button_color=(None, None),
    background_color=None,
    text_color=None,
    auto_close=False,
    auto_close_duration=None,
    non_blocking=False,
    line_width=None,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=True)

弹窗介绍PopupNoButtons

弹窗特征:

显示无按钮的弹窗。


PopupNoButtons(args=*<1 or N object>,
    title=None,
    background_color=None,
    text_color=None,
    auto_close=False,
    auto_close_duration=None,
    non_blocking=False,
    line_width=None,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=True)

弹窗介绍PopupNoWait

弹窗特征:

显示弹出窗口并立即返回


PopupNoWait(args=*<1 or N object>,
    title=None,
    button_color=None,
    background_color=None,
    text_color=None,
    auto_close=False,
    auto_close_duration=None,
    non_blocking=True,
    line_width=None,
    font=None,
    no_titlebar=False,
    grab_anywhere=False,
    keep_on_top=False,
    location=(None, None),
    image=None,
    modal=False)

sg.PopupGetFolder("请选择文件夹")
sg.popup_annoying("没有标题的弹窗")
sg.popup_auto_close("自动关闭弹窗")
sg.popup_cancel()
sg.popup_ok()
sg.popup_ok_cancel()
sg.popup_error()
sg.popup_no_border("没有按钮")
sg.popup_no_wait()
[sg.Popup(f"这是第{i}个弹窗",location=(100,100*i), non_blocking=True) for i in range(1,5)]

sg.popup("最后一个")

你可能感兴趣的:(pythonGUI,弹窗,popup,pysimple)