How to see if a widget exists in Tkinter?

前端 未结 2 1755
伪装坚强ぢ
伪装坚强ぢ 2021-01-02 07:51

Now, I know that you can check to see if a window exists by:

x.winfo_exists()

Which returns a Boolean. I have searched for this, but haven\

2条回答
  •  北荒
    北荒 (楼主)
    2021-01-02 08:31

    winfo_exists returns 1 unless you have destroyed the widget, in which case it returns 0. This method can be called on any widget class, not only the Tk root or Toplevels. Alternatively, you can get all the children of a widget with winfo_children:

    >>> import Tkinter as tk
    >>> root = tk.Tk()
    >>> label = tk.Label(root, text="Hello, world")
    >>> label.winfo_exists()
    1
    >>> root.winfo_children()
    []
    >>> label.destroy()
    >>> label.winfo_exists()
    0
    >>> root.winfo_children()
    []
    

提交回复
热议问题