PyQt优于PyGTK有什么优势,反之亦然?

Xio*_*345 12 python user-interface pygtk pyqt4

我有一个应用程序,其GUI将根据人体工程学原因重新制作.它是用PyGTK编写的,我想知道是否应该切换到PyQt来缓解未来的发展.

这个应用程序主要是带有按钮,工具栏,对话框等的经典UI,但也有一些特定的要求:我当然需要创建一个基于treeview/tableview的自定义小部件(制作类似电子表格的小部件),这个应用程序有一个许多更新GUI的工作线程.

我正在就这两点寻求建议:

  • 关于创建自定义小部件,PyQt是否提供比PyGTK更好的机制,特别是稍微修改现有的小部件.
  • 我有问题(即使正确使用threads_init()和threads_enter())工作线程在使用PyGTK时更新GUI.PyQt在这一点上是否更好?

Ole*_*pin 1

我无法比较,因为我不使用 GTK,但我建议使用 Qt。

Qt 肯定有您正在谈论的“treeview/tableview”,您可以将“cells”设为您的自定义小部件(我现在正在研究这个主题)。Qt 在设计时对线程进行了很多思考,因此工作线程可以轻松使用信号/槽机制。是的,您可以通过应用样式表或子类化来修改现有的小部件。

现在关于 PyQt,由于许可问题,我不会推荐它。对我来说,PySide 似乎是一个更好的 Qt→Python 绑定:它可以在商业应用程序中自由使用,并且在 API 方面有一些微小的优势(但在其他方面它与 PyQt 完全兼容)。

Qt 是跨平台的,使用 cx_Freeze 可以非常轻松地部署 PySide 应用程序;您的应用程序的用户根本不需要安装任何东西。

  • 相反,我会推荐 PyQt 而不是 Pyside,因为 Pyside 是一个较新的项目,并且根据我的经验,它仍然存在更多错误。不过,这两个库的 API 几乎相同,因此,如果您改变主意,在它们之间进行切换并不需要花费太多精力。 (2认同)