我有一個對象實例列表(wxPython小部件)。我希望能夠判斷列表中的實例是否已被銷燬。怎麼會這樣呢?告訴一個實例是否已被銷燬
1
A
回答
4
假設wxPython正在按照規則進行播放,並且「銷燬」意味着「不再被引用」,那麼標準庫中的weakref
模塊應該讓你做你想做的事情(具體來說,創建時可以註冊一個回調在弱參考目標被破壞之前調用的弱參考)。
如果wxPython沒有按照規則播放,或者禁用了其對象的弱引用,那麼您可能倒黴了。
+0
+1,很酷,我不知道你可以用'weakref'來做到這一點。 – senderle 2011-03-02 04:37:39
4
當它們被銷燬時,wxPython小部件是False
。所以你可以簡單地做到這一點:
if self.textCtrl:
self.textCtrl...
else:
return # textCtrl is destroyed
0
這適用於所有wx.Window
派生的對象。如果它已被銷燬或處置,它不會是None
,但它將是False
。
相關問題
- 1. SKNode上的removeFromParent是否銷燬實例?
- 2. 線程被銷燬時,變量是否被銷燬?
- 3. 銷燬Selectize.js實例
- 4. java.lang.IllegalStateException:(活動已被銷燬)
- 5. 統一對象已被銷燬
- 6. 如何告訴一個特定的bean在所有其他bean後被銷燬
- 7. ActiveRecord是否有報告嵌套屬性模型已被銷燬的方法?
- 8. 正確的方法來知道活動是否已被銷燬
- 9. 銷燬預製實例
- 10. 銷燬調用實例
- 11. 如何銷燬heatmap.js實例?
- 12. 如何銷燬cytoscape.js實例
- 13. 如果我在C++類中聲明一個向量,它是否會被銷燬,然後類的instate被銷燬?
- 14. 當與服務綁定的最後一個活動被銷燬時,綁定的服務是否被銷燬?
- 15. 即使Vulkan的創建失敗,我是否應該銷燬一個實例?
- 16. Is(!activity.isFinishing())是否可以檢查該活動是否已被銷燬? isFinishing()與isDestoryed()
- 17. 查詢實例是否已被釋放
- 18. java.lang.IllegalStateException:活動已被銷燬 - Android片段
- 19. AWS .NET無法告訴對象是否已被成功刪除
- 20. 你可以告訴C++指針是否已被破壞?
- 21. Android - 告訴父母活動是否已被破壞
- 22. 我可以告訴抽象方法是否已被調用?
- 23. 何時一個servlet被銷燬?
- 24. CURL是否銷燬會話?
- 25. 是否boost :: shared_ptr <TTransport>關閉連接一旦被銷燬?
- 26. 摧毀一個jPlayer實例
- 27. 當指令被銷燬時,監聽器是否被刪除?
- 28. 如何銷燬fineuploader實例並使用jquery創建一個新的實例?
- 29. 我如何真的*銷燬jssor的一個實例?
- 30. 如何銷燬一個有角度的工廠實例
我會*想*說,如果你仍然有一個引用他們,他們沒有被銷燬,但wxPython是這樣一塊****,它可能不會成立。 – 2011-03-02 02:34:35