首页 文章

检查tkinter小部件是否可见

提问于
浏览
5

我需要能够检查tkinter小部件是否可见(如果已调用其 packgrid 方法) .

我目前正在做以下事情:

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 回答

  • 5

    您可以尝试使用widget.winfo_ismapped()

    检查窗口是否已创建 . 此方法检查Tkinter是否已创建与底层窗口系统中的窗口小部件对应的窗口(X窗口,Windows HWND等) . 返回:如果已创建窗口,则返回true值 .

相关问题