2010-10-10 107 views
1

我正在寫一個有2個獨立框架的小應用程序。如何從另一幀控制幀?

第一幀就像一個視頻播放器控制器。它具有播放/停止/暫停按鈕等,它被命名爲controller.py。

第二幀包含OpenGL渲染和其中的很多東西,但所有內容都被封裝在Frame()類中,如上所述。它被命名爲model.py。

我到最後一部分,我必須「加入」這兩個在一起。 有誰知道如何從另一個框架(controller.py)控制框架(model.py)?

我想做一些類似電影播放器​​的東西,當你點擊播放它彈出一個新窗口並播放,直到點擊停止按鈕。

如果您知道如何,請告訴我。 (只需告訴我一般不需要具體)。

回答

4

Theres沒有太多它,你在你的控制器中創建你的模型類的實例並調用它的方法。因此,例如,當您單擊模型停止按鈕時,其處理程序會調用模型類的相應方法來停止播放。

如果您希望將幀解耦一些,可以使用pubsub,並且只需在模型中爲控制器中的消息設置一些監聽器即可。

Here's一個教程我剛剛發現了使用pubsub在兩個框架之間進行通信的教程,它不完全是您想要執行的操作,但如果您決定使用pubsub,它應該足以讓您開始正確的方向。

1

我肯定會使用PubSub,因爲它可能是我能想到的最乾淨的方式。您也可以使用wx.PostEvent或使用模式框架。