python - 声明式 GTK

标签 python qt user-interface gtk declarative

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


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

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

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

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

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

最佳答案

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

关于python - 声明式 GTK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561674/

相关文章:

python - 在 Django Web 服务器配置域名时遇到问题

python - 如何从数据库模式自动生成示例 Django 应用程序?

c++ - QDataStream 序列化指针

c++ - 覆盖对话框关闭时的 QWidget 事件?

QTreeView自定义各行的行高

javascript - 页面上 jquery 支持的 UI 的最佳实践?

java - 这是 JSlider 中的错误吗?

python - pytest-randomly - 检测测试耦合

python - 如何在Django中集成模型功能

c# - 从 DLL 更新 WPF GUI