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 sglayout = [[sg.Ok()]]
windows = sg.Window('pysimplegui',layout)while True:event, values = windows.read()print(event)if event==None:breakif 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="", # 路径或base64modal=True,)print("看看阻塞了没有")
关于Popup的返回值介绍
-
返回为None,如果点击了关闭窗口按钮 (默认情况下可以按enter键关闭,关闭键X,以及OK按钮)
-
返回为按钮元素的文本信息,如果点击了按钮元素。
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("最后一个")
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
