7

TL;DR:是否有使用 GTK 创建声明式 UI 的库?最好有 Python 支持。


我是一名 Python/Django 开发人员,我对用户界面的大部分经验来自网络,其中声明性、松散耦合的 UI 设计是标准的。最近,我不得不为一个学校项目使用 Java/Swing 创建一个 GUI 应用程序,并最终使用SwiXML为该项目创建声明性 Swing 布局。

我问自己是否有类似的可能性用于 Python。我不是很喜欢 Java,所以我不会开始开发 Swing 应用程序。在寻找 Python GUI Toolkits 时,我最终得出结论,该领域的三个主要参与者是 GTK、QT 和 Wx。

在这 3 个中,我更喜欢 GTK,但我找不到任何使用 GTK 创建声明性 UI 的方法。根据我在 HTML 和 SwiXML 方面的经验,我发现基于代码的 UI 创建非常混乱,我宁愿不必那样做。声明式 UI 更加灵活且耦合更松散。

是否有使用 GTK 创建声明性 UI 的库?最好有 Python 支持。

如果没有这样的东西(我假设,因为我找不到任何东西),我可能最终会开始使用 QT,即使我不喜欢它在 Linux 下的默认外观。(但也许这也是可定制的,在某种程度上它看起来类似于 GTK。)

4

2 回答 2

13

我想你要找的是gtk.Builder. 基本上,gtk.Builder对象可用于加载.ui包含 xml 数据的文件,该文件描述了用户界面的小部件以及代码应公开的事件的回调。该.ui文件可以使用glade创建,因此您甚至不需要自己编写 xml。

于 2011-12-19T12:59:20.067 回答
1

看看搪瓷。虽然没有 GTK 工具包,但它是我所知道的唯一真正的 Python 声明性框架。

于 2017-10-06T03:32:23.403 回答