关于python:尼斯GUI和带有wxPython或Tkinter的GUI设计器

Nice IDE with GUI designer for wxPython or Tkinter

我有一些使用Python开发小型命令行应用程序的经验。我想继续使用Python开发GUI。从可用的Python GUI工具包中,我最倾向于使用的是wxPython和Tkinter。但是我不想一直都自己编写所有GUI。

这些工具箱中是否都具有良好的GUI IDE?它不需要免费或开源。


我将只谈论WxPython,因为它是我有经验的唯一工具包。 TkInter很适合编写小型程序(然后它不需要GUI设计器),但实际上不适用于大型应用程序开发。

  • wxFormBuilder确实很棒:它生成需要在程序中加载的.XRC文件,并且可以在使用时通过子类化生成.py文件。

  • DialogBlocks和wxDesigner是两个可以直接生成Python代码的商业软件。由于价格太高,我没有做太多测试。

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

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

看一下用wxPython编写的主要应用程序列表。您可能会发现这些工具都不使用GUI设计器,这一定是有原因的。

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


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

显然,您可以手动编写GUI或切换到PyQt。

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


Boa构造函数具有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。同时打开并根据需要在它们之间切换。


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


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