如何在XML中为Gtk自定义部件设置属性?
在Gtk XML中配置自定义部件的属性
你给出的XML配置方法是完全可行的,只要你的自定义部件完成了正确的GObject类型注册,就能通过这种方式设置my_property属性。
完整流程示例
- Python自定义部件定义(确保
__gtype_name__和属性声明正确):
class MyWidget(Gtk.Box): __gtype_name__ = "MyWidget" my_property = GObject.Property(type=bool, default=False) # 这里添加部件的其他逻辑代码
- UI描述XML配置:
<!-- 省略其他UI结构代码 --> <child> <object class="MyWidget"> <property name="my_property">true</property> </object> </child> <!-- 省略其他UI结构代码 -->
关键注意点
- 加载XML前必须先导入并初始化
MyWidget类,否则Gtk无法识别这个自定义部件类型。 - 属性值要和定义的类型匹配:布尔类型用
true或false,数值类型直接写数字,字符串类型若包含特殊字符需用引号包裹。
内容的提问来源于stack exchange,提问作者Shake0
相关产品推荐
相关产品推荐

