42

我有一点用 Python 开发小型命令行应用程序的经验。我想继续使用 Python 开发 GUI。在 Python 可用的 GUI 工具包中,我觉得最倾向于wxPythonTkinter的工具包;但我不想一直自己编写所有的 GUI。

这些工具包中是否有任何好的 GUI IDE?它不需要是免费的或开源的。

4

8 回答 8

32

我将只讨论 WxPython,因为它是我使用过的唯一工具包。TkInter 很适合编写小程序(然后它不需要 GUI 设计器),但并不适合大型应用程序开发。

  • wxFormBuilder真的很不错:它会生成.XRC你需要加载到你的程序中的文件,并且它可以.py在你使用的时候通过子类化来生成文件。

  • DialogBlockswxDesigner是两个可以直接生成 Python 代码的商业软件。由于它们的价格,我没有对它们进行太多测试。

  • wxGlade(我认为)对于大型程序来说还不够成熟,但值得一试。

在尝试了所有这些之后,我意识到它们都有缺陷,没有什么比在编辑器中编写 GUI 更好的了。问题在于扩展的学习曲线。但是,与使用 GUI 设计器相比,您的速度会更快,代码也会更灵活。

看看这个用 wxPython 编写的主要应用程序列表。您可能会看到这些都没有使用 GUI 设计器,这一定是有原因的。

然后你就会明白,当你说你切换到 PyQt 或者你手动编写你的应用程序时,gs是正确的。我过去看过 Qt Designer 并认为这是我需要的。不幸的是,PyQt 有一些许可限制。

于 2009-04-29T06:48:04.347 回答
16

这可能无法直接回答您的问题,但我选择PyQt是因为 wxPython 没有优秀的 UI 设计师。

显然,您要么手动编写 GUI,要么切换到 PyQt。

由于诺基亚和 Riverbankcomputing 无法就 LGPL 解决方案达成一致,诺基亚决定构建自己的绑定:PySide

于 2009-04-29T06:51:27.830 回答
5

Boa Constructor有一个 WxPython GUI 构建器。

于 2009-04-29T19:48:34.110 回答
4

我使用 xrced(带有 wxPython)。GUI 是在 xml 文件中定义的,您有一个自动生成的 python 文件,该文件可以自动进行一些初始化,然后您将这些自动生成的类子类化并手动完成其余的初始化。我发现这是将手写 GUI 代码的优雅与 GUI 代码生成的简易性结合起来的好方法。

对于我使用WingIDE的代码,在处理像 wxPython 这样的大型库(或框架,如果你愿意的话)时,拥有一个好的调试器和好的源代码完成是很有帮助的。

如果您想要更多的自动化(因此,更丑陋的代码)尝试最新版本的Boa ,在ShowMeDo.com上有一些不错的介绍性截屏视频

于 2009-04-29T06:52:14.803 回答
2

我使用 Eclipse 和 PyDev 作为我的 Python IDE(这可能不是最好的解决方案,但它相当不错)

对于 GUI 开发,我在一个中型项目中使用了 wxGlade,发现它非常容易使用,您已经掌握了 WxPython 的概念。XML 生成对于将实际的 GUI 设计与程序逻辑分开非常有用。

所有这些都是免费的。

于 2013-07-19T07:27:39.393 回答
1

试试VisualWx。我觉得 GUI 设计师很好;但是 IDE 相当简陋(没有代码完成、调试等)。我的工作模式是拥有 VisualWx 和像 Komodo Edit/Netbeans/etc 这样的优秀编辑器。同时打开并根据需要在它们之间切换。

于 2009-04-29T19:39:42.400 回答
0

我已经将 wxGlade 用于一些关键任务应用程序。如果你在 wx 方面有点薄弱,它可能会很粗糙,但是一旦你习惯了它,它就是一个很棒的工具。

于 2009-04-29T06:51:16.990 回答
0

不是真正的 GUI IDE,但它引导您在 JSON 文件中定义 Tkinter GUI:https ://github.com/tmetsch/pytkgen

于 2011-05-27T12:19:52.117 回答