是否有Python的GUI设计器?


107

是否像Java具有netbeans一样,用于编写Python的GUI IDE?

我想要一个可以拖放测试框和标签的地方,就像使用netbeans或eclipse在swing组件中一样。

还是netbeans或eclipse本身中存在附加组件?


您是否在Ubuntu软件中心中的“开发人员工具”>“ Python”下列出了某些项目?
Christopher Kyle Horton

4
我个人建议尝试按照教程手工制作东西,因为如果您不掌握绘制的元素之间如何交互,那么将很难使按钮起作用。
Ivo Flipse,

1
但是请注意,对于任何不平凡的东西,不使用林间空地或类似功能的gtk应用程序看起来都非常丑陋且非常复杂。即使使用林间空地,您仍然有很多机会来学习pygtk api。
Stefano Palazzo

我赞成像Visual Studio for Python这样的东西吗?
阿卜杜勒·盖伊姆

Answers:


103

格莱德 安装林间空地

如果您需要所见即所得的GUI设计器,那么Glade是您最好的选择:

  • 首先,glade从软件中心安装
  • 创建您的GUI,将其另存为 myapp.glade

    在此处输入图片说明

  • 转到信号标签并设置您的回调,例如on_window1_destroy

  • 在您的python程序中,告诉GTK加载UI定义

    import gtk
    
    
    class MyApp (object):
    
        def __init__(self):
            self.builder = gtk.Builder()
            self.builder.add_from_file("myapp.glade")
            self.builder.connect_signals(self)
    
        def run(self):
            self.builder.get_object("window1").show_all()
            gtk.main()
    
        def on_window1_destroy(self, *args):
            gtk.main_quit()
    
    
    MyApp().run()

设置完所有内容后,您可以直接进入Glade教程(就像Jeremy Kerr在回答中提到的那样)。首先了解不同的布局选项和信号。


很快 快速安装

当您对林间空地感到满意时,可以通过快速地开始使用它,它是一组程序,使开发软件中的常见任务非常容易。它负责翻译,存储配置,打包,包括PPA在内的启动板集成以及更多其他功能:

sudo apt-get install quickly
quickly create ubuntu-application hello-world
cd hello-world/

现在可以快速创建一个庞大的项目,其中包含您已经设置的所有内容。gui,翻译文件,通过desktopcouch进行的配置等。

您会很快为您设置一些窗口(主应用程序,配置和About对话框)。要开始编辑GUI:

  • quickly design

    在此处输入图片说明

  • 要获取应用程序的代码,请运行 quickly edit

  • 转到HelloWorldWindow.py文件

  • 现在开始添加信号处理程序和逻辑。

最后,要运行您的应用程序,请输入quickly run

此时,您可以进入PyGTK文档,以了解信号,其处理程序的签名,不同的小部件的方法等。


另请参阅一些相关问题:


2
这个答案是如此之好,它将成为其他人的基准:)
Nathan Osman

1
我发现林间空地是一个糟糕的越野车。
renatov 2015年

49

Qt设计器

如果您想使用Qt框架编写应用程序,则PyQt随附QtDesigner,这是一个非常简洁的图形GUI编辑器。

Qt Designer屏幕截图

Qt创作者

Qt的新IDE对设计小部件(如上面的设计师)和QtQuick应用程序提供了全面的支持,这对于轻便,流畅,支持触摸功能的应用程序(例如,平板电脑/移动应用程序)更好


23

您是在使用完整的IDE(例如,代码编辑器,运行时环境,UI布局工具),还是仅是用于创建UI的实用程序?

如果您是一个完整的编程环境,请查看Quickly工具集

如果您只是想设计界面,则可以使用'glade'设计器通过GTK小部件对界面进行布局,然后将该UI定义加载到任何python程序中。有一个GTK +和Glade3 GUI编程教程(带有Python和C示例)。


14

艾瑞克(Eric)IDE 安装eric

尝试使用Eric IDE。我认为这是适用于Python和Qt4的最佳IDE。

艾瑞克(Eric)IDE


2
为什么这被否决?Eric是一个很好的Python GUI,集成了QT开发。它可以设计GUI(使用QT Designer),甚至可以将.ui文件编译为python(无需使用命令行)。这有点像是pyQt的Eclipse或Visual Studio。就我的口味而言,它太重了,但是对于其他人来说,这是一个有趣的选择。
哈维尔·里维拉

@JavierRivera:可能是因为它看起来像一个IDE,而不是GUI设计器。
杰里米·克尔

8

wxFormBuilder

它还取决于您要使用的窗口小部件工具箱。我更喜欢wxWidgets和python wxPython

所以我最喜欢构建GUI的是wxFormBuilder,可以从以下PPA中获得它:

它具有将小部件拖放到画布上的简单易用的效果,您可以快速切换到“代码”选项卡以查看其生成的内容,对我而言,这是干净利落的。就像罐子上的名字说的那样,它是一个表单生成器,这就是它的专长。因此,不要指望用它来开发一个完整的项目,但是,如果您希望将表单设计与分析代码分开,则可以这样做。干得好。


1
库存的Ubuntu版本由于某种原因无法生成Python代码。我希望PPA版本没有这个问题。
Christoph

1
是的,PPA版本可以生成python代码。
Christoph

3

镇上有个新孩子:卡米洛特(Camelot)。它旨在真正快速地构建GUI。它可以帮助您专注于应用程序,而不是GUI代码。维护者说

Camelot提供了用于在Python,SQLAlchemyQt之上构建业务应用程序的组件。它受Django管理界面的启发。您可以使用Camelot以惊人的速度开发简单和复杂的业务应用程序。

该框架已在国际python会议中多次提出。它的优点是

开发者优势

  • 在高质量和成熟技术之上

  • 视图无需编写代码即可绑定到数据模型

  • 可通过操作框架进行自定义

  • 从入门教程记录到报告打印

  • Warpspeed到可部署的解决方案

用户优势

  • 响应式且熟悉的GUI

  • 高品质的编辑器和控件

  • 大量内置功能,例如导入,导出,打印,备份和还原

  • 映射到业务流程

检查http://www.python-camelot.com/了解更多信息,演示文稿,youtube视频等。

免责声明:我已经看到了这一点,并与开发人员进行了交谈。我可能有偏见,但老实说,我认为这是很棒的软件。


2

夏普

SharpDevelop屏幕截图

SharpDevelop用于开发基于.Net Framework的应用程序。它确实支持IronPython,并具有WinForm,Silverlight,WPF应用程序的GUI设计器。尽管Visual Studio还具有IronPython的各种GUI设计器,但是它没有WinForm的GUI。




-4

有史以来最好的Python IDE是PyCharm。但是它不是免费的,并且没有GUI设计器。 http://www.jetbrains.com/pycharm/index.html


8
OP特别提到他想要一个GUI设计器。
Fouric

2
实际上,社区版是免费的(4.5),公平地说,其他任何答案都没有真正提供GUI构建IDE,他们只是提到解决该问题的半开嘴解决方案-并且,根据记录,PyCharm是一个一个很好的建议,只要您知道如何使用它(是的,它就可以与其他GUI构建器一起使用)–如果您想恢复一些丢失的代表,则可能希望将该注释添加到您的答案中
osirisgothra 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.