PyQt或PySide-哪一个给我们

2024-04-29 07:26:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始学习一些python,现在想在gui构建方面做些尝试。Qt似乎是一个不错的选择,因为它具有跨平台性。
现在似乎有两种绑定可用:由Riverbank Computing开发的PyQt和最初由诺基亚开发的PySide。
那我该选哪一个呢?我能找到的只是两年前的特性比较,但现在有什么不同呢?
哪一个更容易使用,有更多/更好的文档?两者都还在积极发展中吗?
因为我不打算写商业应用程序,所以我不太关心许可证问题。


Tags: 文档应用程序跨平台gui特性qtpyqt商业
3条回答

许可证也有区别。PySide是LGPL,PyQt是GPL。如果你不想让你的项目开源,这可能会有不同。虽然PyQt总是有一个相当合理的价格适当的版本。

我倾向于发现PySide文档更直观。在我看来,这个API更像是一个python,目前bug修复的速度也相当惊人。

PyQt具有Python 3支持和在职的优势。还有更多的第三方文档/教程。

我最近将一个重要的代码库(超过8000行代码)从PyQt移植到PySide。

现在我要说的是PyQt是一个更加成熟,性能和稳定的项目。我在PySide中发现了一些bug,并怀疑任何大型项目都会遇到问题。说到这里,我向项目报告了一个bug,它在几周内就被修复并发布了一个新版本。我也有一个问题,应用程序需要15秒才能退出。我还没有花时间找出原因。不过,选择PyQt而不是PySide只是时间问题。

如果您现在决定使用PyQt,请确保始终使用API v2。它是一个更好的API,并且将简化将来向PySide的任何转换。另外,如果您使用port,只需遵循PySide wiki上的指导原则。即使是一个由20个源文件组成的8+kloc应用程序也只花了一个下午。

这两个工具包都得到了积极的维护,到目前为止,它们在功能和质量上或多或少是平等的。只有很少的,相当不重要的差异。

不过,我还是推荐Python 2使用PySide。它有一个更合理的API,主要是不公开Qt类型,Qt类型在Python中有直接的等价物(如QString、QList等),或者由于Python的动态特性(如QVariant)而完全多余。这避免了与Qt类型之间的许多繁琐转换,从而简化了编程并避免了许多错误。

PyQt还支持这个现代API,并在Python 3中默认使用它,但在Python 2中不使用它来保持向后兼容性。

相关问题 更多 >