2017-02-21 55 views
0

我在wxpython編程,我試圖使用mvc模型。但是我被一個丟失的控制器卡住了:)我會解釋。wxpython + mvc刪除控制器

A有一個調用控制器的面板。我做了一些事情。然後我摧毀了我的控制器和我的面板。那麼我試試。

del self.tempMApanel.controller 
self.tempMApanel.Destroy() 

我知道肯定是控制器不與面板連接了,因爲如果我「打印」控制我得到那個說主要對象有沒有屬性控制器的錯誤:

print "self.tempMApanel.controller: ",self.tempMApanel.controller #'Main' object has no attribute 'controller' 

在某個時刻,我用新的控制器重新創建面板。但是,當我發送一條消息(與pub.Sendmessage)在控制器中做某些事情時,該消息被未連接到面板的舊控制器拾取並且程序抱怨(當然:))

SO我的具體問題是,你能'殺死'一個控制器,並有可能有'迷失','單一','飛行'控制器嗎?

過去的2天編程被提升到另一個困難層面。所有的虛擬連接...有時很難跟蹤,很難解釋和尋求幫助。所以我希望我很清楚自己想說什麼。

tx提前,我希望有一些天才可以幫助我!

回答

0

我的日子真好!我正在談論我的IT人員'失去'的控制器問題,他說你使用的是訂閱者,也許你對控制器的引用仍然在某處。事實上,控制器被添加到列表中,所以我不得不從列表中刪除控制器,然後我可以刪除我的視圖。

我很放心!最後3天,我的程序中出現了很多問題,除了這一個,我解決了所有問題。但現在我可以繼續下一部分。

所以我的建議是,如果你看到這樣的問題,總是找引用。