使Python GUI处于活动状态

时间:2015-12-15 05:21:51

标签: python tkinter

这是一些简化的代码。我们只是说,由于与此示例无关的原因,我想让根窗口处于活动状态,而不仅仅是在顶部。

from tkinter import *
import time

root = Tk()


def wake():
    time.sleep(3)
    root.attributes("-topmost", True)
    root.attributes("-topmost", FALSE)

button = Button(root, text='Bring Forth!', command=wake)
button.pack()

root.mainloop()

当您按下按钮并转到另一个应用程序时,它会重新显示在顶部,但不会显示为活动状态,就像" tk"标题和菜单按钮是灰色的,直到您在GUI上的某个位置单击。我知道它看起来很奇怪,但它会非常有用。谢谢

1 个答案:

答案 0 :(得分:0)

尝试调用root.grab_set()然后调用root.focus(),如下所示:

def wake():
    time.sleep(3)
    root.attributes("-topmost", True)
    root.grab_set()
    root.focus()
    root.attributes("-topmost", FALSE)

适用于Windows 7 Professional ..