У меня есть список экземпляров объектов (виджеты wxPython). Я хотел бы узнать, был ли экземпляр внутри моего списка уничтожен. Как это можно сделать?
Предполагая, что wxPython играет по правилам и "уничтожен" означает "больше не ссылается", тогда модуль weakref
в стандартной библиотеке должен позволять вам делать то, что вы хотите (в частности, вы можете зарегистрировать обратный вызов, когда создавая слабую ссылку, которая вызывается непосредственно перед уничтожением цели слабой ссылки).
Если wxPython не играет по правилам или отключил слабые ссылки для своих объектов, вам может быть не повезло.
weakref
.
Виджеты wxPython False
, когда они уничтожены. Поэтому вы можете просто сделать это:
if self.textCtrl:
self.textCtrl...
else:
return # textCtrl is destroyed
Это применимо ко всем wx.Window
производным объектам. Если он был уничтожен или удален, он не будет None
, но будет False
.