3
#!/usr/bin/env python
# Display window with toDisplayText and timeOut of the window.

from Tkinter import *

def showNotification(notificationTimeout, textToDisplay):

    ## Create main window
    root = Tk()
    Button(root, text=textToDisplay, activebackground="white", bg="white", command=lambda: root.destroy()).pack(side=LEFT)

    root.update_idletasks()
    # Remove window decorations
    root.overrideredirect(1)

    timeOut = int(notificationTimeout*1000) # Convert to ms from s

    ## Run appliction
    root.after(timeOut,root.destroy)
    root.mainloop()

上面的代码创建了一个带有超时的通知。但是在 Windows 上 - 通知不会自动弹出所有其他当前窗口的上方。必须单击终止按钮(文本),第一次将其聚焦,之后根窗口将显示在所有其他窗口之上。

有没有办法让通知自动出现在所有其他窗口上方 - 在窗口上?

它似乎在 linux 上工作得很好(ubuntu 9.10)。

4

1 回答 1

9

根据此消息,您应该能够在root.overridedirect(1). 此处的快速测试表明它应该适合您。

root.wm_attributes("-topmost", 1)
于 2009-12-17T01:45:37.367 回答