Python – Tkinter 提问对话框
在Python中,有用于图形用户界面的 Serval 库。 Tkinter 是其中最有用的工具之一。它是一个标准接口。 Tkinter 易于使用,并为构建高效的应用程序提供了多种功能。在每个应用程序中,我们都需要显示一些消息,例如“您要关闭吗”或显示任何警告或某些信息。为此 Tkinter 提供了一个类似messagebox的库。通过使用消息框库,我们可以以 Message-Box 的形式显示各种信息、错误、警告、取消等。它有一个不同的消息框用于不同的目的。
- showinfo() –显示一些重要信息。
- showwarning() –显示某种类型的警告。
- showerror() -显示一些错误消息。
- askquestion() –显示一个对话框,询问两个选项 YES 或 NO。
- askokcancel() –显示一个对话框,询问两个选项 OK 或 CANCEL。
- askretrycancel() –显示一个对话框,询问两个选项 RETRY 或 CANCEL。
- askyesnocancel() –显示一个对话框,询问三个选项 YES 或 NO 或 CANCEL。
消息框函数的语法:
messagebox.name_of_function(Title, Message, [, options])
- name_of_function –我们要使用的函数名称。
- 标题 –消息框的标题。
- 消息 –要在对话框中显示的消息。
- 选项 -配置选项。
问问题()
此函数用于向用户提问。那只有两个选项是或否。
此函数的应用:
- 我们可以使用它来询问用户是否要继续。
- 我们可以使用它来询问用户是否要提交。
句法:
messagebox.askfunction((Title, Message, [, options])
例子:
Python3
from tkinter import *
from tkinter import messagebox
# object of TK()
main = Tk()
# function to use the
# askquestion() function
def Submit():
messagebox.askquestion("Form",
"Do you want to Submit")
# setting geometry of window
# instance
main.geometry("100x100")
# creating Window
B1 = Button(main, text = "Submit", command = Submit)
# Button positioning
B1.pack()
# infinite loop till close
main.mainloop()
Python3
# illustration of icon - Error
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"Is your name correct?",
icon ='error')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
Python3
# illustration of icon - Info
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"do you want to continue",
icon ='info')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
Python3
# illustration of icon - question
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"are you 18+",
icon ='question')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
Python3
# illustration of icon - Warning
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"Gender is empty?",
icon ='warning')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
输出:
1. 导入库
要在Python中使用 GUI 功能,我们必须导入库。在第一行,我们正在导入 Tkinter,第二行我们正在导入消息框库
from tkinter import *
from tkinter import messagebox
2.主窗口实例
我们必须为 TK() 的窗口创建一个实例或对象; Tk() 是 Tkinter 的一个函数,它创建一个可以从主变量引用的窗口
main = Tk()
3.设置维度
我们设置窗口的尺寸,我们可以通过各种方式设置它。在这个我们设置的是几何()函数,大小为“100X100”。
top.geometry("100x100")
4.应用其他小部件和函数
在我们的示例中,我们创建了一个名为 Submit 的方法并调用 askquestion() 和 Creating Button 并通过 Pack()函数设置它
def Submit():
messagebox.askquestion("Form", "Do you want to Submit")
main.geometry("100x100")
B1 = Button(main, text = "Submit", command = Submit)
B1.pack()
5. 主循环()
当所有代码都准备好执行时,可以使用此方法。它运行用于运行应用程序的无限循环。一个窗口将打开,直到按下关闭按钮。
我们可以在选项中使用的图标
- 错误
- 信息
- 警告
- 问题
我们可以改变对话框的图标。我们要使用的图标类型仅取决于应用程序的需要。我们有四个图标。
错误
messagebox.function_name(Title, Message, icon='error')
例子-
Python3
# illustration of icon - Error
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"Is your name correct?",
icon ='error')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
输出:
信息
messagebox.function_name(Title, Message, icon='info')
例子-
Python3
# illustration of icon - Info
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"do you want to continue",
icon ='info')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
输出:
问题
messagebox.function_name(Title, Message, icon='question')
例子-
Python3
# illustration of icon - question
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"are you 18+",
icon ='question')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
输出:
警告
messagebox.function_name(Title, Message, icon='warning')
例子-
Python3
# illustration of icon - Warning
from tkinter import *
from tkinter import messagebox
main = Tk()
def check():
messagebox.askquestion("Form",
"Gender is empty?",
icon ='warning')
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
main.mainloop()
输出: