如何在C语言中设置AdwActionRow的标题?
如何在C语言中设置AdwActionRow的标题?
嘿,这个问题我刚巧碰到过!其实原因很简单:AdwActionRow的标题设置方法是从它的父类AdwPreferencesRow继承来的,所以你找不到专门的adw_action_row_set_title()函数,直接用adw_preferences_row_set_title()就可以搞定啦。
举个实际的代码例子,比如你已经创建了一个AdwActionRow实例:
// 先创建AdwActionRow对象 AdwActionRow *row = adw_action_row_new(); // 调用父类的方法设置标题 adw_preferences_row_set_title(ADW_PREFERENCES_ROW(row), "我的自定义标题"); // 设置副标题还是用你已经知道的方法 adw_action_row_set_subtitle(row, "这是副标题内容");
为什么会这样呢?因为GTK和libadwaita的类体系里,子类会继承父类的所有公共方法,AdwActionRow作为AdwPreferencesRow的子类,自然拥有设置标题的能力,只是方法名沿用了父类的而已。
另外,如果你习惯用GObject的属性系统,也可以通过g_object_set()来直接设置title属性,写法更简洁:
g_object_set(row, "title", "我的自定义标题", NULL);
两种方式都能达到同样的效果,选你觉得顺手的就行~
备注:内容来源于stack exchange,提问作者Newbyte
相关产品推荐
相关产品推荐

