Python中GUI设计之tkinter控件的使用(MessageBox控件)

1. tkinter 模块中有Messagebox模块,提供了针对不同场合的8个对话框

showinfo(title,message,options) 显示一般提示消息
在这里插入图片描述

showwarning(title,message,options) 显示警告信息
在这里插入图片描述

showerror(title,message,options) 显示错误消息
在这里插入图片描述

askquestion(title,message,options) 显示询问消息
在这里插入图片描述

askokcancel(title,message,options) 显示确定或者取消消息
在这里插入图片描述
askyesno(title,message,options) 询问时或者否
在这里插入图片描述

askyesnocancel(title,message,options) 询问是或者否还是取消选择
在这里插入图片描述

askretrycancel(title,message,options) 显示重试或者取消
在这里插入图片描述

在上面的方法中,title 为对话框的名称, message 是对话框内的文字, options 是选择行参数(可以指定icon图标)。

2. 上代码

from tkinter import*
from tkinter import messagebox

# 弹窗的方法
def myMsg():
    messagebox.askyesno("My Messagebox","This is MessageBox controls test")
    
window=Tk()
window.title("Form")
window.geometry("300x200")

Button(window,text="Pop up messagebox",command=myMsg).pack() # 将弹窗方法绑定至Button的点击事件上

window.mainloop()

3. 上代码:询问是否结束应用程序

这里用到了窗体的 protocol 方法,用于窗体管理程序和应用程序之间通讯
参数中 WM_DELETE_WINDOW 表示窗体管理程序(Windows manager)的删除窗体命令,相当于单击右上角的X关闭窗体。

from tkinter import*
from tkinter import messagebox

def callback():
	# askokcancel返回一个bool类型,结果取决与用于选择确定或者是取消,选择确定bool结果为true,反之
    res=messagebox.askokcancel("询问框","结束或者取消")
    if res==True:
        root.destroy()
    else:
        return
    
root=Tk()
root.title("MessageBox")
root.geometry("300x100")
root.protocol("WM_DELETE_WINDOW",callback)

root.mainloop()

上述示例中,askokcancel返回一个bool类型,结果取决与用于选择确定或者是取消,选择确定bool结果为true,反之…

运行
在这里插入图片描述

下期再见,拜了个拜。。。

猜你喜欢

转载自blog.csdn.net/qq_34699535/article/details/120392132