答案 0 :(得分:1)
树指南由enable-tree-lines
属性控制。渲染图标有点复杂。
首先,您必须使用图标名称为模型添加额外字段。接下来,您必须连接到"row-collapsed"
和"row-expanded"
信号,并手动更改模型中的图标名称。
然后你创建一个TreeViewColumn并用gtk_tree_view_column_pack_start
打包2个渲染器。
column = gtk_tree_view_column_new ();
gtk_tree_view_column_set_title (column, "title");
renderer0 = gtk_cell_renderer_pixbuf_new ();
g_object_set (renderer0, "icon-name", "folder-open", NULL); // #1
gtk_tree_view_column_pack_start (column, renderer0, FALSE);
gtk_tree_view_column_set_visible (column, TRUE);
renderer1 = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (column, renderer1, FALSE);
gtk_tree_view_column_set_attributes (column, renderer1, // #2
"text", NAME_COL,
NULL);
此代码段对所有行使用一个图标(全局设置图标名称),但您可以从模型中获取图标名称。
如果库存图标不足,则必须使用GIcon或pixbuf,查看cellrendererpixbuf的"gicon"
和"pixbuf"
属性
编辑:如果问题是关于+/-按钮而不是三角形,请查看this answer或调整gtk3主题