使Tkinter窗口不总是在顶部

时间:2013-07-19 13:19:41

标签: python user-interface tkinter

我有一个简单的程序如下:

from Tkinter import *

class Run:
    def __init__(self,parent):
        parent.overrideredirect(True)

root = Tk()
app = Run(root)
root.mainloop()

当我运行此程序时,未修饰的根窗口始终位于顶部。 我怎么能做到这一点,所以任何其他窗口都可以在它上面,而没有装饰?

我也试过将'topmost'设置为'False',但无济于事。

我正在运行Ubuntu 13.04。

提前致谢

2 个答案:

答案 0 :(得分:1)

下面的代码会将您的窗口放在每个100ms的背景上,无论如何,所以一切都会在它的前面。我想这就是你要求的:

from tkinter import *

class Run:
    def __init__(self):
        self.root = Tk()
        self.root.overrideredirect(True)
    def put_back(self):
        # this method will put the window to the background
        self.root.lower()
        # recursive calling of put_back method
        self.root.after(100, self.put_back)

app = Run()
# Start the recursion
app.put_back()
app.root.mainloop()

答案 1 :(得分:1)

如果我点击其他窗口,似乎会自动发生这种情况。