首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合使用PyPubSub和wxPython的内置pubsub模块

混合使用PyPubSub和wxPython的内置pubsub模块
EN

Stack Overflow用户
提问于 2019-01-25 16:15:12
回答 1查看 390关注 0票数 0

我有一个应用程序引擎,其中程序内的通信是使用PyPubSub完成的。

Planned是一个响应性较强的GUI,例如根据模型状态启用/禁用小部件。这将使用wxPython来实现。

因为wxPython有一个自己的跨图形用户界面的pubsub库(也就是PyPubSub),所以问题是:如何维护MVC模型。

在维护MVC模式的同时,是否可以(更重要的是:是否有意义)混合这两种消息传递系统?例如,保持这两个消息传递系统的分离,同时使GUI具有对引擎主题的订阅者?

或者我应该只在图形用户界面中使用模型的(即,应用程序引擎的) pubsub,而不使用wxPython内置的pubsub?

在这个相当概念性的问题上,任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-27 13:14:49

摘要(由pypubsub的作者):如果你从pypubsub导入而不是从wx.lib.pubsub导入,一切都会正常工作,你将不会有“两个消息系统”。

详细信息:

wx包中没有实际使用wx.lib.pubsub的内容;由于遗留原因,后者仍在wx.lib中(见下文),是否要在wxPython应用程序中使用发布-订阅完全取决于您的选择。

pypubsub/ wx.lib.pubsub的历史:wx.lib.pubsub最初是为wxPython开发的模块,包含在其源代码中。它作为一个名为pypubsub的独立库被移出( 10多年前!),因为wxPython中没有任何东西依赖它,反之亦然。为了向后兼容,wx.lib.pubsub被保留为独立pypubsub3.3的特定“版本”(例如,wxPython 3使用pypubsub3.3)。然而,最新的wxPython (4.0.4)已经弃用了它的wx.lib.pubsub:你应该直接从pip install或github安装独立的pypubsub,并使用from pubsub import pub (而不是from wx.lib.pubsub import pub)。

如果可以,您应该使用wxPython 4.0.4、Python3.7和pypubsub4.0.0 (4.0.1即将推出,并支持仅关键字的参数)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54361345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档