我有一点用 Python 开发小型命令行应用程序的经验。我想继续使用 Python 开发 GUI。在 Python 可用的 GUI 工具包中,我觉得最倾向于wxPython和Tkinter的工具包;但我不想一直自己编写所有的 GUI。
这些工具包中是否有任何好的 GUI IDE?它不需要是免费的或开源的。
我有一点用 Python 开发小型命令行应用程序的经验。我想继续使用 Python 开发 GUI。在 Python 可用的 GUI 工具包中,我觉得最倾向于wxPython和Tkinter的工具包;但我不想一直自己编写所有的 GUI。
这些工具包中是否有任何好的 GUI IDE?它不需要是免费的或开源的。
我将只讨论 WxPython,因为它是我使用过的唯一工具包。TkInter 很适合编写小程序(然后它不需要 GUI 设计器),但并不适合大型应用程序开发。
wxFormBuilder真的很不错:它会生成.XRC
你需要加载到你的程序中的文件,并且它可以.py
在你使用的时候通过子类化来生成文件。
DialogBlocks和wxDesigner是两个可以直接生成 Python 代码的商业软件。由于它们的价格,我没有对它们进行太多测试。
在尝试了所有这些之后,我意识到它们都有缺陷,没有什么比在编辑器中编写 GUI 更好的了。问题在于扩展的学习曲线。但是,与使用 GUI 设计器相比,您的速度会更快,代码也会更灵活。
看看这个用 wxPython 编写的主要应用程序列表。您可能会看到这些都没有使用 GUI 设计器,这一定是有原因的。
然后你就会明白,当你说你切换到 PyQt 或者你手动编写你的应用程序时,gs是正确的。我过去看过 Qt Designer 并认为这是我需要的。不幸的是,PyQt 有一些许可限制。
Boa Constructor有一个 WxPython GUI 构建器。
我使用 xrced(带有 wxPython)。GUI 是在 xml 文件中定义的,您有一个自动生成的 python 文件,该文件可以自动进行一些初始化,然后您将这些自动生成的类子类化并手动完成其余的初始化。我发现这是将手写 GUI 代码的优雅与 GUI 代码生成的简易性结合起来的好方法。
对于我使用WingIDE的代码,在处理像 wxPython 这样的大型库(或框架,如果你愿意的话)时,拥有一个好的调试器和好的源代码完成是很有帮助的。
如果您想要更多的自动化(因此,更丑陋的代码)尝试最新版本的Boa ,在ShowMeDo.com上有一些不错的介绍性截屏视频
我使用 Eclipse 和 PyDev 作为我的 Python IDE(这可能不是最好的解决方案,但它相当不错)
对于 GUI 开发,我在一个中型项目中使用了 wxGlade,发现它非常容易使用,您已经掌握了 WxPython 的概念。XML 生成对于将实际的 GUI 设计与程序逻辑分开非常有用。
所有这些都是免费的。
试试VisualWx。我觉得 GUI 设计师很好;但是 IDE 相当简陋(没有代码完成、调试等)。我的工作模式是拥有 VisualWx 和像 Komodo Edit/Netbeans/etc 这样的优秀编辑器。同时打开并根据需要在它们之间切换。
我已经将 wxGlade 用于一些关键任务应用程序。如果你在 wx 方面有点薄弱,它可能会很粗糙,但是一旦你习惯了它,它就是一个很棒的工具。
不是真正的 GUI IDE,但它引导您在 JSON 文件中定义 Tkinter GUI:https ://github.com/tmetsch/pytkgen