我需要能够检查tkinter小部件是否可见(如果已调用其 pack
或 grid
方法) .
我目前正在做以下事情:
def is_visible(widget):
try:
widget.pack_info()
except tk.TclError:
# pack_info raises if pack hasn't been
# called yet.
return bool(widget.grid_info())
# grid_info returns {} if grid hasn't been
# called yet.
else:
return True
有没有什么方法可以通过使用标准的widget属性,或通过其他一些不那么“hacky”的解决方案来改进这些代码?
1 回答
您可以尝试使用widget.winfo_ismapped():