18

我们正计划开发一个应用程序来监控和配置我们的服务(在远程服务器上运行)。经过长时间的讨论,我们决定使用 Python 作为我们应用的平台,因为我们热爱并了解 Python。但我们不知道,我们的目标首选什么 GUI 工具包。我们需要快速(用于开发和运行)应用程序,其用户将是管理员、维护者和客户经理。

Python 有两个 GUI 工具包,我们知道:wxPythonpyQT。有人对利弊有争论吗?也许有人知道任何商业应用程序,使用这些产品(只有 python 版本的工具包)?链接是可取的。

谢谢。

4

8 回答 8

12

经过大量研究,我选择了 wxPython。原因是:

  • Rappin & Dunn 的“wxPython in Action”一书
  • 作为 wxPython 下载一部分的大量示例
  • 使用过 wxWidgets 的项目数量
  • wxPython 代码在 Linux、Mac OS/X 和 Win32 上同样运行良好的事实

我确实考虑过 pyQT 和其他研究人员正在成功使用它。在我考虑过的所有 API 中编写了许多示例之后,我发现 wxPython 为我打勾的选项最多。

至于 Tkinter (TIX),我认为它看起来相当过时。除非您使用 IronPython 或 Jython,否则我不会考虑使用相关的本机窗口 API。对于另一个将专门在 .Net 上交付的项目,在收到 StackOverflow 成员的大量反馈后,我计划使用 WinForms。

于 2009-06-11T06:25:30.557 回答
9

好吧,我是 QT 的粉丝:它具有更现代的外观和感觉。但是 - 您的选择应该基于您的实际要求。简单的贸易研究对此很有帮助。列出您的工具包必须具备的功能以及最好具备的功能,然后适当地加权每个项目。然后查看您的所有选项(也包括 TKinter),然后根据您的功能列表对它们进行评分(使用您分配给每个功能要求的权重)。最后,应该清楚哪一个适合您的项目。

于 2009-06-08T16:36:53.423 回答
6

我一直很喜欢 Qt 的“信号和槽”概念模型,但我想对于更习惯于其他事件传播和处理模型的开发人员来说,这可能需要一些学习。就个人而言,如果可以选择,我会选择 PyQt,因为它具有编程方面的优势。

于 2009-06-08T17:02:39.633 回答
4

你写了“有两个用于 python 的 GUI 工具包,我们知道:wxPython 和 pyQT。” 您忘记了最明显的工具包:tkinter。这实际上是核心 python 发行版的一部分,不需要额外的下载。

有些人不喜欢 Tk,但这通常是由于无知。Tk 是跨平台工具包的不错选择。它在 Windows 上使用本机小部件(并且已经使用了很多年),最新版本的 tk 在所有平台上使用主题小部件。

于 2009-08-19T16:14:30.477 回答
4

我已经使用 wxpython 3 年了.. 现在我们不得不切换到 pyqt,因为 qt 集成在 Maya 2011 中.. 但是,wxpython 更直接,您可以轻松地开始使用它并快速从零开始学习。它提供了很棒的资源和资料。但是QT提供了更多你在wxpython中找不到的强大功能,例如(多点触摸检测),QT还对pc平板电脑等绘图设备提供了很好的支持。

qt 还提供了一个很好的设计器,可以让你更快地创建界面。
qt 的缺点之一是它的许可证,因为它不像 wxpython 那样免费

于 2010-05-01T17:04:07.690 回答
3

我想指出 wxPython 与 pyQt 相比的两个优势:

  1. 它在每个受支持的平台上使用本机小部件。所以应用程序具有原生的外观和感觉。我知道 PyQt 使用原生样式,但据报道行为(“感觉”)有些非原生,尤其是在 Mac 上。
  2. 它提供了更多开箱即用的小部件选择。
于 2009-06-23T17:10:24.377 回答
3

IronPython提供了用于 GUI 工具包的 Windows(和 Mono)选项。它提供对 Winforms 和 WPF 库的访问。例如,请参阅使用 IronPython 和 Windows 窗体进行开发,以及许多其他内容。

如果要扩展选项列表,请考虑构建Web 应用程序而不是(本地)GUI 应用程序。您说您的服务在远程服务器上运行,因此网络是您要求的一部分。一旦你开始走这条路,Python 就会提供大量令人眼花缭乱的选项

于 2009-06-08T17:00:38.077 回答
2

您还应该查看 PyGTK。它在编程模型中类似于 pyQT,但由于它是 LGPL,因此没有任何许可成本。作为一名开发人员,我总是觉得与他们一起工作很愉快。pyQT 的主要缺点是,在某些情况下,它们取消了文件选择器对话框等功能,以方便用户使用。

于 2009-06-08T17:08:05.693 回答