【发布时间】:2010-10-22 11:58:58
【问题描述】:
我有一点用 Python 开发小型命令行应用程序的经验。我想继续使用 Python 开发 GUI。在 Python 可用的 GUI 工具包中,我觉得最倾向于使用的是 wxPython 和 Tkinter;但我不想一直自己编写所有的 GUI。
这些工具包中是否有任何好的 GUI IDE?它不需要是免费的或开源的。
【问题讨论】:
标签: python user-interface ide wxpython tkinter
我有一点用 Python 开发小型命令行应用程序的经验。我想继续使用 Python 开发 GUI。在 Python 可用的 GUI 工具包中,我觉得最倾向于使用的是 wxPython 和 Tkinter;但我不想一直自己编写所有的 GUI。
这些工具包中是否有任何好的 GUI IDE?它不需要是免费的或开源的。
【问题讨论】:
标签: python user-interface ide wxpython tkinter
我将只讨论 WxPython,因为它是我唯一使用过的工具包。 TkInter 很适合编写小程序(然后它不需要 GUI 设计器),但并不适合大型应用程序开发。
wxFormBuilder真的很不错:它会生成.XRC你需要加载到你的程序中的文件,它可以在你使用的时候通过子类化来生成.py文件。
DialogBlocks和wxDesigner是两个商业软件,可以直接生成Python代码。由于价格原因,我没有对这些进行过多测试。
在尝试了所有这些之后,我意识到它们都有所有缺陷,没有什么比在编辑器中编写 GUI 更好的了。问题在于扩展的学习曲线。但是,与使用 GUI 设计器相比,您的速度会更快,代码也会更灵活。
看看这个用 wxPython 编写的list of major applications。您可能会看到这些都没有使用 GUI 设计器,这一定是有原因的。
然后你就会明白 gs 说你要么切换到 PyQt 要么你手动编写应用程序是正确的。我过去看过 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
【讨论】: