Tkinter必须有根窗口.如果不创建一个,将为您创建一个.如果您不想要此根窗口,请创建它,然后将其隐藏:
import Tkinter as tk
root = tk.Tk()
root.withdraw()
tkMessageBox.showinfo("Say Hello", "Hello World")
您的其他选择是不要使用tkMessageBox,而是将消息放在根窗口中.这种方法的优点是您可以使窗口看起来像您想要的那样.
import Tkinter as tk
root = tk.Tk()
root.title("Say Hello")
label = tk.Label(root, text="Hello World")
label.pack(side="top", fill="both", expand=True, padx=20, pady=20)
button = tk.Button(root, text="OK", command=lambda: root.destroy())
button.pack(side="bottom", fill="none", expand=True)
root.mainloop()
(个人我会选择一个更加面向对象的方法,但是我试图保持这个例子的代码很小)