我在使用Python开发小型命令行应用程序方面有一点经验。我想继续用Python开发GUI。从Python的可用GUI工具包中,我认为最喜欢的是 wxPython 和 Tkinter ;但我不想一直自己编写所有的GUI代码。
这些工具包中是否有任何好的GUI IDE?它不需要是免费的或开源的。
答案 0 :(得分:31)
我将仅讨论WxPython,因为它是我遇到的唯一工具包。 TkInter很适合编写小程序(然后它不需要GUI设计器),但不适合大型应用程序开发。
wxFormBuilder非常好:它会生成您需要在程序中加载的.XRC
个文件,并且可以在您使用时通过子类化生成.py
个文件。
DialogBlocks和wxDesigner是两个商业软件,可以直接生成Python代码。由于价格原因,我没有对这些进行过多次测试。
尝试了所有这些后,我意识到他们有所有缺陷并且没有什么比在编辑器中编写GUI更好了。问题是扩展的学习曲线。但是,与使用GUI设计器相比,您将更加快速,并且您的代码将更加灵活。
看看用wxPython编写的这个list of major applications。您可能会发现其中没有一个使用GUI Designer,因此必须有这样的理由。
当您说要切换到PyQt或手动编写应用程序时,您理解 gs 是正确的。我过去看过Qt Designer,认为这就是我需要的。不幸的是,PyQt有一些许可限制。
答案 1 :(得分:15)
这可能无法直接回答您的问题,但我选择了PyQt,因为wxPython没有优秀的UI设计师。
显然,您要么手动编写GUI,要么切换到PyQt。
由于诺基亚和Riverbankcomputing无法就LGPL解决方案达成一致,诺基亚决定建立自己的绑定:PySide。
答案 2 :(得分:5)
Boa Constructor 有一个WxPython GUI构建器。
答案 3 :(得分:4)
我使用xrced(附带wxPython)。 GUI在xml文件中定义,你有一个自动生成的python文件,可以自动进行一些初始化,然后你将这些自动生成的类子类化,然后手动完成剩下的初始化。我发现这是将手工编写的GUI代码的优雅与GUI代码生成轻松融合的好方法。
对于我使用WingIDE的代码,在处理像wxPython这样的大型库(或者你喜欢的框架)时,有一个好的debuger和良好的源代码完成是有帮助的。
如果你想要更多的自动化(以及更丑陋的代码),请尝试最新版本的Boa,在ShowMeDo.com
上有一些很好的介绍性截屏视频答案 4 :(得分:1)
试试VisualWx。我认为GUI设计师非常好;然而,IDE是相当简陋的(没有代码完成,调试等)。我的工作模式是拥有VisualWx和一个像Komodo Edit / Netbeans / etc这样的好编辑器。同时打开并根据需要在它们之间切换。
答案 5 :(得分:1)
我将Eclipse与PyDev一起用作我的Python IDE(这可能不是最好的解决方案,但它相当不错)
对于GUI开发,我已经将wxGlade用于中型项目,发现使用WxPython的概念非常容易。 XML生成对于将实际GUI设计与程序逻辑分离非常有用。
所有这些都是免费的。
答案 6 :(得分:0)
我已经将wxGlade用于一些关键任务应用程序。如果你在wx中有点弱,那可能很粗糙,但是一旦你习惯它,它就是一个很好的工具。
答案 7 :(得分:0)
不是真正的GUI IDE,但它允许您在JSON文件中定义Tkinter GUI:https://github.com/tmetsch/pytkgen