告知实例是否已被销毁

时间:2011-03-02 02:28:13

标签: python list wxpython instance

我有一个对象实例列表(wxPython小部件)。我希望能够判断列表中的实例是否已被销毁。怎么会这样呢?

3 个答案:

答案 0 :(得分:5)

wxPython小部件在被销毁时为False。所以你可以这样做:

if self.textCtrl:
   self.textCtrl...
else:
   return # textCtrl is destroyed

答案 1 :(得分:4)

假设wxPython正在按规则播放,而“被破坏”意味着“不再被引用”,那么标准库中的weakref模块应该让你做你想做的事情(具体来说,你可以注册一个创建在弱引用的目标被销毁之前调用的弱引用时的回调。)

如果wxPython没有遵守规则,或者已禁用其对象的弱引用,那么您可能会失去运气。

答案 2 :(得分:0)

这适用于所有wx.Window派生对象。如果它已被销毁或处置,则不会是None,而是False