【问题标题】:PyQt vs PySide comparison [closed]PyQt 与 PySide 比较 [关闭]
【发布时间】:2011-01-04 17:38:37
【问题描述】:

我目前在 Linux 上的 Qt 重型 C++/Python 环境中开发了许多应用程序,并根据需要移植到 PC/Mac。我使用嵌入在 C++ 和独立 GUI 中的 Python。 Qt 用于 xml 解析/事件处理/GUI/线程等等。现在我所有的 Python 工作都在 PyQt 中,我想看看每个人如何看待 PySide。我很感兴趣,因为它在内部,因此应该支持更多组件,希望能更好地集成。你有什么经验?

我知道以前有人问过这个问题,但我想恢复对话。

【问题讨论】:

  • PyQt 更适合初学者 b/c 它有一个更活跃的社区并且与 Qt 一起移动(截至目前,Qt 5 没有 PySide 绑定)。

标签: c++ python qt pyqt pyside


【解决方案1】:

我们最近在考虑使用 PySide,但是我们没有找到任何关于它是否被 py2exe 支持的信息。这就是我们坚持使用 PyQt 的原因。如果你需要为 Windows 开发,使用好的 ol' PyQt 会更安全 :-)

【讨论】:

  • pyside 与 pyinstaller 配合得很好。
  • 它工作正常,但二进制文件目前有点大(使用 Python 2.6,理想情况下使用正确的选项和 UPX 压缩,大约 9.3MB 而不是 8.1MB);它还添加了对 msvcp90.dll 的依赖,这是一个并行程序集(Python 2.6 使用 msvcr90.dll 但不使用 p)。
  • 是的,我的答案可能不是最新的,因为代码一直在变化。也许 pyside 现在工作得很好,这会很酷。
  • Hatchet:将冻结的 PySide 应用程序缩小到大小:rfk.id.au/blog/entry/hatchet-hack-frozen-pyside-apps
【解决方案2】:

PySide 目前不在 Windows 上运行,这限制了您的能力。如果您在 Linux 上进行开发并且需要避免纯 GPL,那么 PySide 是一个候选者。

从 API 的角度来看,我发现信号/插槽功能感觉更“Pythonic”。

【讨论】:

  • 2010 年 8 月 31 日发布了适用于 Windows 的版本。请参阅 pyside.org/2010/08/windows-version-released
  • PyQt4 确实有 QtCore.pyqtSignal 和 QtCore.pyqtSlot。 QtCore.Signal = QtCore.pyqtSignalQtCore.Slot = QtCore.pyqtSlot,然后那就是修复了。 :-) 至于 QString、QVariant 等东西,你可以放入他们文档中提到的 sip.setapi 调用,然后它的行为更像它应该的(即,就像 PySide 一样)。
  • PySide 现在在 Windows 上运行良好。
【解决方案3】:

从 PySide 1.0 beta (Qt 4.7.1) 开始,有一个可以运行的官方 Windows 安装程序。它不包括 QtDesigner 和其他工具,只有 uic。

【讨论】:

  • 使用包含 numpy、Qtdesigner 等的 pythonxy 包,截至 2011 年 1 月运行良好
猜你喜欢
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多