我正在用wxPython构建一个GUI,并试图保持MVC的真实性,使我的视图不受模型的影响。我使用pubsub库从模型发送消息,控制器将订阅这些消息,然后根据需要更新视图。在
但我确实有并发症。我的模型有一个相同对象的实例列表,每个对象都需要发送自己的运行状况和状态更新消息。每个对象在视图中都有自己的面板,如下所示。在
我的控制器有一个对象列表:
kierkegaard = PhilosophersWithMetaData("Soren Kierkegaard", "thumbnails/kierkegaard.jpg", forks[0], forks[4])
lewis = PhilosophersWithMetaData("C.S. Lewis", "thumbnails/lewis.jpg", forks[1], forks[0])
dostoevsky = PhilosophersWithMetaData("Fyodor Dostoevsky", "thumbnails/dostoevsky.jpg", forks[2], forks[1])
descartes = PhilosophersWithMetaData("Rene Descartes", "thumbnails/descartes.jpg", forks[3], forks[2])
kant = PhilosophersWithMetaData("Immanuel Kant", "thumbnails/kant.jpg", forks[4], forks[3])
philosopher_list = [kierkegaard, lewis, dostoevsky, descartes, kant]
模型中的每个哲学家都有:
^{pr2}$我的问题是,如何知道哪个对象发送了消息,以便更新正确的面板?我需要一个索引或对象来引用,这样我就可以将更新传递到视图上。有没有“MVC认可”的方法来做到这一点?在
你可以在
Publisher.sendMessage("someMessage",["some_argument",1])
在这种情况下你会这样做的
相关问题 更多 >
编程相关推荐