林间空地

林间空地

是否有用于 Python 编程的 GUI IDE,就像 Java 有 NetBeans 一样?

我想要一个可以拖放测试框和标签的功能,就像使用 NetBeans 或 Eclipse 拖放 Swing 组件一样。

或者 NetBeans 或 Eclipse 本身是否存在附加组件?

答案1

林间空地 安装 glade

如果你想要一个所见即所得的 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 在他的回答中提到的那样)。首先了解不同的布局选项和信号。


迅速地 快速安装

当您对 glade 感到满意时,您可以通过 Quickly 开始使用它,Quickly 是一组程序,可使软件开发中的常见任务变得非常容易。它负责翻译、存储配置、打包、启动板集成(包括 PPA)等:

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

现在快速创建一个大型项目,其中已设置好您需要的一切。GUI、翻译文件、配置通过桌面沙发, 等等。

您将看到快速设置了几个窗口(主应用程序、配置和关于对话框)。要开始编辑您的 GUI:

  • 跑步quickly design

在此处输入图片描述

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

  • 转至HelloWorldWindow.py文件

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

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

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


另请参阅一些相关问题:

答案2

Qt设计师

介绍附带Qt设计师,这是一个非常简洁的图形 GUI 编辑器,如果你想用 Qt 框架编写你的应用程序的话。

Qt 设计器屏幕截图

Qt Creator

Qt 的新 IDE 对设计小部件(如上文的设计器)和 QtQuick 应用程序均提供了全面支持,更适合轻量级、流畅、支持触摸的应用程序(即平板电脑/移动应用程序)

<![QtCreator 集成开发环境][5]>

<找不到 qt-project.org/uploads/image_upload/creator_30_designer_mobile_app.png>

答案3

您是否需要完整的 IDE(即代码编辑器、运行环境、UI 布局工具),还是仅需要一个用于创建 UI 的实用程序?

如果你想要一个完整的编程环境,请查看快速工具集

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

答案4

表单生成器

这也取决于你想使用哪个小部件工具包。我更喜欢插件使用 Python,维基百科

所以我构建 GUI 的偏好是表单生成器,可从以下 PPA 获得:

它具有将小部件拖放到画布上的简单功能,您可以快速切换到代码选项卡以查看它生成的内容,在我未经训练的眼睛看来,它干净整洁。正如名称所示,它是一个表单生成器,这就是它的专长。所以不要指望用它开发一个完整的项目,但是,如果您喜欢将表单设计与分析代码分开,那么它就可以很好地完成工作。

相关内容