2010-10-10 101 views
1

我正在写一个有2个独立框架的小应用程序。如何从另一帧控制帧?

第一帧就像一个视频播放器控制器。它具有播放/停止/暂停按钮等,它被命名为controller.py。

第二帧包含OpenGL渲染和其中的很多东西,但所有内容都被封装在Frame()类中,如上所述。它被命名为model.py。

我到最后一部分,我必须“加入”这两个在一起。 有谁知道如何从另一个框架(controller.py)控制框架(model.py)?

我想做一些类似电影播放器​​的东西,当你点击播放它弹出一个新窗口并播放,直到点击停止按钮。

如果您知道如何,请告诉我。 (只需告诉我一般不需要具体)。

回答

4

Theres没有太多它,你在你的控制器中创建你的模型类的实例并调用它的方法。因此,例如,当您单击模型停止按钮时,其处理程序会调用模型类的相应方法来停止播放。

如果您希望将帧解耦一些,可以使用pubsub,并且只需在模型中为控制器中的消息设置一些监听器即可。

Here's一个教程我刚刚发现了使用pubsub在两个框架之间进行通信的教程,它不完全是您想要执行的操作,但如果您决定使用pubsub,它应该足以让您开始正确的方向。

1

我肯定会使用PubSub,因为它可能是我能想到的最干净的方式。您也可以使用wx.PostEvent或使用模式框架。