Tkinter:消息框不正常工作(出现两个窗口)

4

我正在使用Python 3。

当我打开错误消息框时,会出现两个框架,一个为空白的框架,一个是错误窗口。这是我的代码:

from tkinter import messagebox

messagebox.showwarning('warning', 'warning')

这个回答解决了你的问题吗?如何在Tkinter中使用无窗口的messagebox? - Michael Litvin
3个回答

2

在你的示例中,一切都正常。空窗口是Tk的主窗口。当您启动任何Tk程序时,它始终处于打开状态。如果您想要,可以将其最小化,但关闭它会终止主循环。


1

试试这个:

  root = tkinter.Tk()
  root.withdraw()
  messagebox.showwarning('warning', 'warning')

你能否帮助阐明如何解决这个问题,以使得答案更加有用? - Simas Joneliunas

0
谢谢DYZ, 我的代码中没有主窗口(例如:main = Tk() ... main.mainloop),因此警告消息会创建一个。我可以通过创建一个并将其最小化来解决这个问题。在消息框的末尾,我销毁它以继续执行代码。
from tkinter import *

from tkinter import messagebox

main = Tk()
main.geometry("500x400+300+300")
def message():
  main.geometry("0x0")
  messagebox.showwarning("Say Hello", "Hello World")
  main.destroy()
B1 = Button(main, text = "Start Dialog",fg="dark green", command = message)
B1.pack()

main.mainloop()

print("finish dialog")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接