📜  Python – Tkinter 提问对话框

📅  最后修改于: 2022-05-13 01:54:52.976000             🧑  作者: Mango

Python – Tkinter 提问对话框

在Python中,有用于图形用户界面的 Serval 库。 Tkinter 是其中最有用的工具之一。它是一个标准接口。 Tkinter 易于使用,并为构建高效的应用程序提供了多种功能。在每个应用程序中,我们都需要显示一些消息,例如“您要关闭吗”或显示任何警告或某些信息。为此 Tkinter 提供了一个类似messagebox的库。通过使用消息框库,我们可以以 Message-Box 的形式显示各种信息、错误、警告、取消等。它有一个不同的消息框用于不同的目的。

  1. showinfo() –显示一些重要信息。
  2. showwarning() –显示某种类型的警告。
  3. showerror() -显示一些错误消息。
  4. askquestion() –显示一个对话框,询问两个选项 YES 或 NO。
  5. askokcancel() –显示一个对话框,询问两个选项 OK 或 CANCEL。
  6. askretrycancel() –显示一个对话框,询问两个选项 RETRY 或 CANCEL。
  7. askyesnocancel() –显示一个对话框,询问三个选项 YES 或 NO 或 CANCEL。

消息框函数的语法:

messagebox.name_of_function(Title, Message, [, options])
  1. name_of_function –我们要使用的函数名称。
  2. 标题 –消息框的标题。
  3. 消息 –要在对话框中显示的消息。
  4. 选项 -配置选项。

问问题()

此函数用于向用户提问。那只有两个选项是或否。
此函数的应用:

  1. 我们可以使用它来询问用户是否要继续。
  2. 我们可以使用它来询问用户是否要提交。

句法:

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. 主循环()
当所有代码都准备好执行时,可以使用此方法。它运行用于运行应用程序的无限循环。一个窗口将打开,直到按下关闭按钮。

我们可以在选项中使用的图标

  1. 错误
  2. 信息
  3. 警告
  4. 问题

我们可以改变对话框的图标。我们要使用的图标类型仅取决于应用程序的需要。我们有四个图标。

错误

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()

输出:

输出