Сообщаем, уничтожен ли экземпляр - PullRequest
1 голос
/ 02 марта 2011

У меня есть список экземпляров объектов (виджеты wxPython).Я бы хотел сказать, был ли экземпляр в моем списке уничтожен.Как можно поступить об этом?

Ответы [ 3 ]

5 голосов
/ 03 марта 2011

wxPython виджеты равны False, когда они уничтожены. Так что вы можете просто сделать это:

if self.textCtrl:
   self.textCtrl...
else:
   return # textCtrl is destroyed
4 голосов
/ 02 марта 2011

Если предположить, что wxPython играет по правилам, а под словом «уничтожено» вы подразумеваете «больше не ссылается», то модуль weakref в стандартной библиотеке должен позволять вам делать то, что вы хотите (в частности, вы можете зарегистрировать обратный вызов, когдасоздание слабой ссылки, которая вызывается непосредственно перед уничтожением цели слабой ссылки.

Если wxPython не играет по правилам или отключил слабые ссылки для своих объектов, вам может не повезти.

0 голосов
/ 09 ноября 2016

Это применимо ко всем wx.Window производным объектам.Если он был уничтожен или уничтожен, он не будет None, но будет False.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...