【问题标题】:Can't generate GtkBuilder.xml in glade无法在林间空地中生成 GtkBuilder.xml
【发布时间】:2011-10-17 11:20:59
【问题描述】:

我正在尝试在 Glade 中设计一些窗口,我希望它可以在我的 Python 代码中使用 GtkBuilder

我只是无法生成 GtkBuilder xml

当我在 Glade 中保存某些内容时,我会得到 .glade 文件

你能帮我如何生成 GtkBuilder xml 吗?

$ rpm -q glade3
glade3-3.10.0-2.fc15.x86_64

谢谢

【问题讨论】:

    标签: python gtk glade gtkbuilder


    【解决方案1】:

    我在 Ubuntu 10.04 上尝试过以下操作,但我想它也应该在您的系统上运行。如果您在保存文件时使用glade-3,请选择另存为...选项而不是保存,系统会提示您使用文件浏览器输入文件名显示。在左下角,您可以看到文件格式的选择选项,例如:
    文件格式
    () GtkBuilder
    () Libglade

    (抱歉无法上传图片):)

    选择 GtkBuilder 选项并保存为您选择的 filename.xml。应该这样做! 交叉检查生成的文件是 .glade 文件还是与 GtkBuilder 兼容的 XML 文件(因为两者都是 XML 格式) .glade 文件中的根节点将是 glade-interface 而在 GtkBuilder 兼容的 XML 文件中它将是 interface

    如果您有一个现有的 .glade 文件,您可以查看 gtk-builder-convert 脚本以转换为与 GtkBuilder 兼容的 XML 文件。
    希望这会有所帮助!

    【讨论】:

    • 我就是这样做的,但是当我运行 xml 时,我得到了 Traceback(最近一次调用最后):文件“./main.py”,第 49 行,在 w = Window () 文件“./main.py”,第 39 行,在 init self.builder.add_from_file('main.xml') glib.GError: Invalid object type `GtkGrid'
    • @javo:您使用的 Gtk+ 版本是什么?看起来 GtkGrid 是 Gtk+3 的一部分。在 main.xml 中,<requires lib="gtk+" version="XXX"/> 行说所需的版本是什么?当你启动 glade 时,你有任何选择 Gtk+ 版本的选项吗?
    • 正如 another.anon.coward 所说,GtkGrid 是 GTK 3 的一部分。因此,根据 GTK 库的版本(根据您的 Ubuntu 版本,Distrowatch 是 GTK 2.20),您需要在您的林间空地项目属性中设置该版本,以便它知道哪些小部件可用。请参阅project properties dialog
    • 哎呀,another.anon.coward 使用的是 Ubuntu 10.04,但是你,javo,使用 Fedora 15,所以你的 GTK 版本是 3.0。如果您有错误,则意味着您可能没有使用正确的绑定。 pygtk 不再使用,它​​是与 GTK 3 一起使用的 gobject-introspection。所以不要在你的 python 代码中使用import pygtk,而是:from gi.repository import Gtk。阅读这些链接:live.gnome.org/PyGObjectpython-gtk-3-tutorial.readthedocs.org/en/latest
    • 只是对于 GTK 3,旧的 pyGTK 绑定已被使用 pyGObject 的新绑定所取代。 GObject 的自省特性有助于绑定维护,这在 pyGTK 中更难。
    【解决方案2】:

    【讨论】:

    • 该教程使用 glade 而不是 GtkBuilder,有人告诉我 GtkBuilder 是某种替代品,我应该使用它而不是 Glade,现在我有 .glade 文件,我想要 .xml 文件跨度>
    • 你为什么要 GTKbuilder ?只需使用 glade 文件,如图所示,效果很好!
    • @Louis: GtkBuilder 或 LibGlade glade 文件中使用的 XML 格式。他想要的是一个带有 GtkBuilder XML 的林间空地文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多