python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
话不多说,直接开始吧。
今天这课将学习messageBox部件,messageBox,用于显示你应用程序的消息框。messageBox就是我们平时看到的弹窗。我们首先需要定义一个触发功能,来触发这个弹窗,一般都会结合上节课学过的button按钮,通过点击button按钮触发功能,调用messagebox,就会弹出提示对话框。例如网页登录交互的时候,这种就用的比较多。
tkinter的消息框是由tkinter.messagebox 单独提供的,所以导入的时候一定得加上一行import tkinter.messagebox 才可以。
messagebox一共提供了七种消息框, 它们语法都是一样的,tkinter.messagebox.function(title, message [, options]),具体用法如下:
# 提示消息框
tkinter.messagebox.showinfo('提示','恭喜你,账号注册成功!')
效果图:
# 消息警告框
tkinter.messagebox.showwarning('警告','注意保护你的密码!')
效果图:
# 错误消息框
tkinter.messagebox.showerror('错误','你的密码错误,请重新输入!')
效果图:
#是/否,返回值yes/no
tkinter.messagebox.askquestion('提示', '确定要登录吗')
效果图:
#确定/取消,返回值true/false
tkinter.messagebox.askokcancel('提示', '确定删除文件吗?')
效果图:
#是/否,返回值true/false
tkinter.messagebox.askyesno('提示', '确定保存密码吗?')
效果图:
#重试/取消,返回值true/false
tkinter.messagebox.askretrycancel('提示', '要执行此操作吗')
效果图:
1.showinfo, showwarning, showerror三个是比较类似的,只有一个确定按钮。
2.askquestion, askokcancel, askyesno, askretrycancel都是属于对话框,有两个按钮,看上去有些挺相似,具体使用可以根据自己实际情况选择。
3.完整代码
from tkinter import *
# 导入弹窗库
import tkinter.messagebox
# 1.创建一个主窗口
root = Tk()
# 提示消息框
tkinter.messagebox.showinfo('提示','恭喜你,账号注册成功!')
# 消息警告框
tkinter.messagebox.showwarning('警告','注意保护你的密码!')
# 错误消息框
tkinter.messagebox.showerror('错误','你的密码错误,请重新输入!')
# 对话框
#是/否,返回值yes/no
tkinter.messagebox.askquestion('提示', '确定要登录吗')
#确定/取消,返回值true/false
tkinter.messagebox.askokcancel('提示', '确定删除文件吗?')
#是/否,返回值true/false
tkinter.messagebox.askyesno('提示', '确定保存密码吗?')
#重试/取消,返回值true/false
tkinter.messagebox.askretrycancel('提示', '要执行此操作吗')
# 2.程序一直循环,直到我们关闭窗口
root.mainloop()