如何从另一帧控制帧?

时间:2010-10-10 04:11:19

标签: python wxpython frame send

我正在写一个有两个独立框架的小应用程序。

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

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

我要完成最后一部分,我必须将这两者“加入”。 有谁知道如何从另一帧(controller.py)控制帧(model.py)?

我想在点击播放时做类似电影播放器​​的操作,它会弹出一个新窗口并播放直到单击停止按钮。

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

2 个答案:

答案 0 :(得分:4)

不仅如此,您可以在控制器中创建模型类的实例并调用其方法。因此,例如,当您单击模型停止按钮时,其处理程序会调用模型类的相应方法来停止播放。

如果您希望您的帧稍微分离,可以使用pubsub,只需在模型中设置一些侦听器来处理来自控制器的消息。

Here's我刚刚发现使用pubsub在两个帧之间进行通信的教程,这不是你想要做的,但如果你决定使用pubsub,它应该足以让你开始朝着正确的方向前进。

答案 1 :(得分:1)

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