Glade:尝试使用对象属性时出现 glib GError

Glade:尝试使用对象属性时出现 glib GError

我使用的是 Ubuntu 14.10,但手动安装了 lubuntu 桌面 (LXDE)。我使用 Glade 设计了我的 Python 应用程序的 UI。只要我不在<attribute>XML 文件中使用属性 (),一切都会正常工作;当我这样做时,我在调用时会得到以下信息add_from_file

gi._glib.GError: <input>:18:41 <attribute> requires attribute "value"

第 18 行只是<attribute>文件中标签的第一次出现,如下所示:<attribute name="weight">bold</attribute>

我的 Python 版本是3.4.3

我该如何解决这个问题?

答案1

正如错误消息所示,您必须添加一个名为的属性value

<attribute name="weight" value="bold" />

在你的定义中

<attribute name="weight">bold</attribute>

只有一个名称为 的属性name。开始和结束标签之间的文本不是属性。标签名称attribute与标签所需的属性无关。


有效 XML 文件的结构在 DTD 文件中定义,例如

<!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.0//EN" "file:///usr/share/xml/schema/xml-core/catalog.dtd">

在这个定义中,定义了标签的必要属性。如果 XML 文件不符合这些定义,则无效。在这种情况下,可能是 Glade 中的错误(生成无效的 XML)或者您没有事先验证 XML 文档。

相关内容