很好的IDE,带有用于wxPython或Tkinter的GUI设计器

很好的IDE,带有用于wxPython或Tkinter的GUI设计器,python,user-interface,ide,wxpython,tkinter,Python,User Interface,Ide,Wxpython,Tkinter,我有一点使用Python开发小型命令行应用程序的经验。我想继续用Python开发GUI。从可用的Python GUI工具包中,我觉得最倾向于使用wxPython和Tkinter;但我不想一直自己编写所有GUI 这些工具包中有没有好的GUI IDE?它不需要是免费的或开源的。我只讨论WxPython,因为它是我唯一有经验的工具包。TkInter很适合编写小程序(这样就不需要GUI设计器),但并不适合大型应用程序开发 非常好:它可以生成需要加载到程序中的.XRC文件,并且可以在使用时通过对文件进行

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


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

我只讨论WxPython,因为它是我唯一有经验的工具包。TkInter很适合编写小程序(这样就不需要GUI设计器),但并不适合大型应用程序开发

  • 非常好:它可以生成需要加载到程序中的
    .XRC
    文件,并且可以在使用时通过对文件进行子类化来生成
    .py
    文件

  • 和是两个可以直接生成Python代码的商业软件。因为它们的价格,我没有做太多的测试

  • (我认为)对于大型程序来说还不够成熟,但值得一试
在尝试了所有这些之后,我意识到它们都有缺陷,没有什么比在编辑器中编写GUI更好的了。问题在于学习曲线的延长。但是,与使用GUI设计器相比,您的速度会快得多,代码也会灵活得多

看看这个用wxPython写的。您可能会看到,其中没有一个使用GUI设计器,这肯定是有原因的


然后,您就明白了当您说要么切换到PyQt,要么手工编写应用程序时,gs是正确的。我以前看过Qt Designer,认为这就是我所需要的。不幸的是,PyQt有一些许可证限制。

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

这可能不能直接回答你的问题,但我选择了,因为wxPython没有好的UI设计器

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

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

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

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


如果您想要更多的自动化(因此,代码更难看),请尝试最新版本的,在

try上有一些很好的介绍性屏幕广播。我觉得GUI设计师很好;但是,IDE相当初级(没有代码完成、调试等)。我的工作模式是让VisualWx和一个好的编辑器(如Komodo Edit/Netbeans等)同时打开,并根据需要在它们之间切换

有一个WxPython GUI构建器。

不是真正的GUI IDE,但它可以让您在JSON文件中定义Tkinter GUI:

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

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


所有这些都是免费的。

+1 Qt Designer是一个让我不再讨厌UI设计师的程序。而且,PyQt绑定看起来稍微有些pythic,WX的绑定似乎有点C++太多。(例如整数事件/动作ID。)另一件事是,使用运行时加载的生成代码和资源文件基本上是类似的。生成的代码非常整洁,与您自己编写的代码非常接近,这并没有什么坏处。PyQt是否支持本机look and feel to Win/Mac/Linux?@eyze:部分支持。在Mac上,它使用碳元素(他们正在将其移植到Cocoa…),在Win上,他们正在从自定义元素(本地外观)切换到真正的本地小部件。在linux上,它们绘制自定义元素,但系统上所有Qt应用程序的外观都可以更改。PyQt的另一个优点是它的库,它不仅仅是一个GUI框架。@gs:可以说这个库复制了很多其他Python库有时做得更好的东西@eyze:这是了解本机集成和部署的一个很好的起点。手写GUI的优雅?????好吧,如果做得对的话…;)如果GUI代码做得很好,它会像其他代码一样优雅。Boa构造函数是一项优秀的工作,就像Delphi一样,但它依赖于解析Python自动生成的源代码来跟踪您的设计。如果升级wxPython,则必须手动编辑自动生成的代码以使其再次工作(随着各种标志的添加或版本之间的重命名)。这可能是一个真正的痛苦。VisualWX看起来很酷,但它仍然处于活动状态吗?该网站显示了2007年4月的alpha版本,在过去的六个月里论坛上只有5条消息。我用它为我编写的一款游戏创建了配置对话框,效果很好。如果您想从新的wxWindows版本中获得最前沿的东西,那么它可能无法满足您的需要。但是对于我尝试过的东西来说,它工作得很好,它是免费的,而且当前的版本看起来很稳定(例如,与Boa构造函数不同)。我的建议是试一下,看看你的想法。你如何定义“大型应用程序开发”,为什么你认为tkinter不合适?虽然我从未在百万行以上的应用程序中使用过它,但我认为它可以扩展abo