我有一个tkinter应用程序,当我单击按钮时可以打开子窗体。
def open_new_form():
child_form = ChildForm()
list_of_children_form.append(child_form)
child_form.show()
我如何跟踪主应用程序创建的所有表单?
我希望能够计算出处于活动状态(未关闭)的子窗体的数量。我可以使用每次创建新的子窗体都会增加的计数器,但是如果关闭/销毁了子窗体,如何更新计数器。
更新1: 我有一个列表来记录创建的子表单(请参阅上面的更新代码)。如何跟踪列表中这些状态的状态(是否关闭)?
我想做什么:
更新2: 尝试过[furas]的建议。我在主表单上添加了一个方法delete_child(),将父表单传递给了子表单。
def __init__(self, parent):
self._parent = parent
def _on_form_closing(self):
self._parent.delete_child()
self.child_form.destroy()
但是,我得到这个错误:
AttributeError: '_tkinter.tkapp' object has no attribute 'delete_child'