📜  Python – Tkinter 提问对话框(1)

📅  最后修改于: 2023-12-03 15:04:11.275000             🧑  作者: Mango

Python – Tkinter 提问对话框

Tkinter 是 Python 自带的 GUI 工具包,它可以让开发者创建图形用户界面。其中,提问对话框是很常见的一种对话框,可以让用户输入一些信息或者做出一些选择。在 Tkinter 中,我们可以通过 askquestionaskyesno 等方法来创建提问对话框。

askquestion

askquestion 方法可以创建一个包含“是”和“否”两个按钮的提问对话框。当用户点击其中一个按钮时,该方法会返回一个字符串,表示用户点击了哪个按钮。字符串的取值为 “yes” 或 “no”。

以下是使用 askquestion 的示例代码:

from tkinter import messagebox

response = messagebox.askquestion("Question", "Are you sure?")

if response == "yes":
    messagebox.showinfo("Confirmation", "You clicked Yes!")
else:
    messagebox.showinfo("Confirmation", "You clicked No!")

示例中,我们先调用 askquestion 方法,创建一个包含“是”和“否”两个按钮的提问对话框。对话框的标题为 “Question”,提示信息为 “Are you sure?”。当用户点击其中一个按钮时,该方法会返回一个字符串,我们将其保存在变量 response 中。

接着,根据 response 的取值来展示相应的信息提示框。如果用户点击了“是”按钮,则展示“You clicked Yes!”;如果用户点击了“否”按钮,则展示“You clicked No!”。

askyesno

askyesno 方法可以创建一个包含“是”和“否”两个按钮的提问对话框。当用户点击其中一个按钮时,该方法会返回一个布尔值,表示用户点击的按钮。返回值为 True 表示用户点击了“是”按钮,返回值为 False 表示用户点击了“否”按钮。

以下是使用 askyesno 的示例代码:

from tkinter import messagebox

response = messagebox.askyesno("Question", "Are you sure?")

if response:
    messagebox.showinfo("Confirmation", "You clicked Yes!")
else:
    messagebox.showinfo("Confirmation", "You clicked No!")

该示例和前一个示例的区别在于 askyesno 方法返回的不是字符串,而是布尔值。我们在展示信息提示框时,根据返回值的取值来展示相应的信息。

总结

Tkinter 提供了多种不同的方法来创建提问对话框,其中常用的有 askquestionaskyesno。这些方法都需要 messagebox 模块的支持。在使用时,我们需要根据返回值的类型来判断用户的选择,并采取相应的处理。