什么是实现自定义弹出 Tkinter 对话框的正确方法?

什么是实现自定义弹出 Tkinter 对话框的正确方法?

Tkinter 有许多内置的函数和模块,在 Python 中已经实现。Tkinter 中的 MessageBox 模块是其中之一,只需使用其相关函数就可以在任何应用程序中使用。这些包的唯一限制是我们无法修改或更改 MessageBox 模板。因此,为了实现自定义弹出消息框,我们可以按照以下步骤进行操作:

  • 创建一个按钮并添加一个命令来定义它的一个函数。
  • 定义一个函数来创建一个 Toplevel 窗口并在其中添加其他小部件。
  • 在 Toplevel 窗口中添加按钮和确认标签文本。
  • 将按钮命令添加到交互式地在主窗口中显示一些消息。

示例

# 导入所需库
from tkinter import *
from tkinter import ttk

# 创建 tkinter 框架实例
win = Tk()
# 设置窗口大小
win.geometry("700x250")

# 定义一个实现选择功能的函数
def choice(option):
  pop.destroy()
  if option == "yes":
     label.config(text="你好,你怎么样?")
  else:
     label.config(text="你选择了 No")
def click_fun():
  global pop
  pop = Toplevel(win)
  pop.title("确认")
  pop.geometry("700x250")
  pop.config(bg="green3")
  # 创建一个 Label 文本
  label = Label(pop, text="你想要继续吗?", bg="green3", fg="white", font=('Aerial', 12))
  label.pack(pady=20)
# 添加一个 Frame
frame = Frame(pop, bg="green3")
frame.pack(pady=10)
# 添加用于进行选择的按钮
button1 = Button(frame, text="是",
command=lambda: choice("yes"), bg="green")
button1.grid(row=0, column=1)
button2 = Button(frame, text="否",
command=lambda: choice("no"), bg="green")
button2.grid(row=0, column=2)

# 创建一个 Label 小部件
label = Label(win, text="", font=('Aerial', 14))
label.pack(pady=40)

# 创建一个 Tkinter 按钮
ttk.Button(win, text="点击这里", command=click_fun).pack()

win.mainloop()

输出

执行上述代码将显示一个带有一个按钮的窗口。

什么是实现自定义弹出 Tkinter 对话框的正确方法?

当我们点击按钮时,它会显示一个自定义弹出消息框。

什么是实现自定义弹出 Tkinter 对话框的正确方法?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程