如果Windows可见性已更改,我尝试获取一个事件。我发现有一个名为“可见性”的事件。操作系统是Windows 64位。因此,我以以下方式实现:
root.bind('<Visibility>', visibilityChanged)
Run Code Online (Sandbox Code Playgroud)
但是,无论是否有窗口,我总是处于“ VisibilityUnobscured”状态。此事件的正常行为是什么?如何实现这样的功能?
示例编:
import tkinter as tk
class GUI:
def __init__(self, master):
self.master = master
master.title("Test GUI")
self.master.bind('<Visibility>', self.visibilityChanged)
self.label = tk.Label(master, text="GUI")
self.label.pack()
self.close_button = tk.Button(master, text="Close", command=master.quit)
self.close_button.pack()
def visibilityChanged(self, event):
if (str(event.type) == "Visibility"):
print(event.state)
root = tk.Tk()
my_gui = GUI(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)