实现自定义弹出式 Tkinter 对话框的正确方法是什么?
tkinterpythongui-programming更新于 2025/6/18 8:44:17
Tkinter 有许多内置函数和模块,这些函数和模块已在 Python 中实现。Tkinter 中的 MessageBox 模块就是其中之一,只需使用其相关函数即可在任何应用程序中使用。这些包的唯一限制是我们无法修改或更改 MessageBox 模板。因此,要实现自定义弹出消息框,我们可以遵循以下步骤,
- 创建一个按钮并添加一个命令来为其定义一个函数。
- 定义一个函数来创建一个顶层窗口并向其添加其他小部件。
- 在顶层窗口中添加按钮和确认标签文本。
- 添加按钮命令以交互方式在主窗口中显示一些消息。
示例
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建 tkinter 框架的实例
win = Tk()
# 设置窗口大小
win.geometry("700x250")
# 定义一个函数来实现选择函数
def choice(option):
pop.destroy()
if option == "yes":
label.config(text="Hello, How are You?")
else:
label.config(text="You have selected No")
def click_fun():
global pop
pop = Toplevel(win)
pop.title("Confirmation")
pop.geometry("700x250")
pop.config(bg="green3")
# 创建标签文本
label = Label(pop, text="Would You like to Proceed?", bg="green3", fg="white", font=('Aerial', 12))
label.pack(pady=20)
# 添加框架
frame = Frame(pop, bg="green3")
frame.pack(pady=10)
# 添加按钮进行选择
button1 = Button(frame, text="Yes",
command=lambda: choice("yes"), bg="green")
button1.grid(row=0, column=1)
button2 = Button(frame, text="No",
command=lambda: choice("no"), bg="green")
button2.grid(row=0, column=2)
# 创建标签小部件
label = Label(win, text="", font=('Aerial', 14))
label.pack(pady=40)
# 创建Tkinter 按钮
ttk.Button(win, text="Click Here", command=click_fun).pack()]
win.mainloop()
输出
执行上述代码将显示带有按钮的窗口。
当我们单击按钮时,它将显示一个自定义弹出消息框
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

