我正在使用tkMessageBox.showinfo (info at tutorialspoint)在我的程序中弹出警告。
只有当屏幕上有第二个TopLevel窗口(主窗口除外)调用警告时,才会发生问题:在这种情况下,警告仍然隐藏在第二个TL窗口之后。
我试着这样称呼它:
tkMessageBox.showinfo(title='Warning',message=s).lift()但是它不起作用。有什么想法吗?
发布于 2012-09-20 22:50:21
我认为消息框只能保证在它的父级之上。如果您创建了第二个顶层,且希望messagebox位于第二个窗口顶部,请使第二个窗口成为messagebox的父窗口。
tl2 = tk.Toplevel(...)
...
tkMessageBox.showinfo("Say Hello", "Hello World", parent=tl2)发布于 2012-09-20 21:31:45
我看不出你所描述的问题。我在下面写的代码就是创建一个窗口所需的最小代码,这个窗口创建第二个窗口。第二个窗口使用showinfo方法创建一个信息框。我想知道除了这个你们还有没有别的东西。(请注意,我将窗口设置得有点大,以便试图遮盖信息窗口。)
from Tkinter import Tk, Button, Toplevel
import tkMessageBox
top = Tk()
def make_window():
t = Toplevel(top)
t.title("I'm Window 2. Look at me too!")
B2 = Button(t, text = "Click me", command = hello)
B2.pack()
t.geometry('500x500+50+50')
def hello():
tkMessageBox.showinfo("Say Hello", "Hello World")
B1 = Button(top, text = "New Window", command = make_window)
B1.pack()
top.title("I'm Window 1. Look at me!")
top.geometry('500x500+100+100')
top.mainloop()这是在Windows7(64位)上使用Python 2.7 (32位)进行测试的。它会产生类似这样的结果:

https://stackoverflow.com/questions/12491731
复制相似问题