在所有其他运行的应用程序之上显示tkMessageBox

3
我有一个Python程序,在满足某些条件时会显示一个tkMessageBox。
这个程序的预期使用方式是启动它,最小化它,然后在一定时间后收到警报。但是当我使用tkMessageBox时,消息会“隐藏”在我打开的所有其他应用程序(如Firefox等)之后。
有没有办法将消息框置于焦点/将其推到所有其他应用程序的上方?
谢谢。
编辑:我正在使用Lubuntu和Python 2.7。
1个回答

1

好的,您可以使tkMessageBox仅在与根窗口并排时置于所有其他窗口之上:

from Tkinter import Tk              # For this example we only need Tk
from tkMessageBox import showinfo

root = Tk()         # We need a main window

def showMessage():
    root.attributes('-topmost', 1)              # Raising root above all other windows
    root.attributes('-topmost', 0)              
    showinfo("Title", "Sample text Message")    # Actual message

root.after(3000, showMessage)       # Starting function 'showMessage' in 3000 milliseconds (3 seconds)
root.mainloop()                     # Starting mainloop

1
谢谢回复。它自己开始运行了,不知道为什么 :D 希望您的帖子能帮助将来的某个人(我还没有尝试过)。 - EyfI

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