我开始学习一点python,现在想玩玩一下gui构建。Qt似乎是一个很好的选择,因为它具有跨平台性。
现在似乎有两个可用的绑定: Riverbank Computing的PyQt和最初由诺基亚开发的PySide。
那么我应该选择哪一个呢?我能找到的只是两年前的特征比较,但现在有什么不同呢?
哪一个更容易使用,有更多/更好的文档?两者都还在积极开发中吗?
许可对我来说不是很重要,因为我不打算写商业应用程序。
发布于 2011-07-31 20:50:28
这两个工具包都得到了积极的维护,到目前为止,它们在功能和质量上大同小异。只有很少的,相当不重要的区别。
尽管如此,我还是推荐Python2的PySide。它有一个更合理的应用程序接口,主要是它不公开Qt类型,这些类型在Python语言中有直接的等价物(例如QString,QList等)。或者,由于Python的动态特性,它们完全是多余的,比如QVariant。这避免了许多与Qt类型之间繁琐的转换,从而简化了编程并避免了许多错误。
PyQt也支持这个现代的API,默认情况下将其用于Python3,但不用于Python2,以保持向后兼容性。
发布于 2011-08-02 09:52:44
还有许可的区别。PySide是LGPL,而PyQt是GPL。如果你不想让你的项目开源,这可能会有所不同。尽管PyQt总是以相当合理的价格提供合适的版本。
我倾向于发现PySide文档更直观。在我看来,API稍微有点Python化,错误修复的速度目前相当令人印象深刻。
PyQt具有Python3支持和现任性的优势。有更多关于它的第三方文档/教程。
发布于 2011-08-23 18:44:32
我最近将一个重要的代码库(超过8,000行代码)从PyQt移植到PySide。
现在,我想说PyQt是一个更成熟、更高效、更稳定的项目。我在PySide中遇到了许多big,并怀疑任何大型项目都会遇到问题。话虽如此,我还是向项目报告了一个bug,并在几周内修复并发布了一个新版本。我也遇到了一个问题,应用程序大约需要15秒才能退出。我还没有花时间找出原因。然而,没有理由选择PyQt而不是PySide,这只是个时间问题。
如果您决定暂时使用PyQt,请确保始终使用v2接口。它是一个更好的应用程序接口,并将简化任何未来向PySide的过渡。另外,如果你要移植,只需遵循PySide维基上的指导原则。即使是由大约20个源文件组成的8+ kloc应用程序,也只需要一个下午的时间。
https://stackoverflow.com/questions/6888750
复制相似问题