首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gtk+2.0哪个小工具用于好友列表?

gtk+2.0哪个小工具用于好友列表?
EN

Stack Overflow用户
提问于 2012-07-07 23:19:54
回答 2查看 102关注 0票数 0

我刚刚开始研究gtk,因为我必须用它来编写GUI应用程序。这是一个即时消息应用程序,我需要在用户登录时向他/她显示他/她的朋友列表。列表左边是小图片,右边是名字,如下图所示:

代码语言:javascript
复制
Friends
-----------
Pic1  John
Pic2  Sara
...   ...

据我所知,我认为最好的套装是Treeview,但它有恼人的分隔符和标题,所以列表如下:

代码语言:javascript
复制
Friends
------------
PIC  |  Name
------------
Pic1 |  John
------------
Pic2 |  Sara

有什么办法可以解决这个问题吗?或者有更好的方法来实现这一点?

我还想在name部分包含更多信息,如下所示:

代码语言:javascript
复制
Friends
----------
Pic1  John
Pic1  This is more about John
Pic1  Still more about John
Pic1  Sara
Pic1  This is more about Sara
Pic1  Still more about Sara

请注意,上面的三个Pic1s和Pic2s仍然代表一张图片。

另外,我正在用C语言编写应用程序。

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2012-07-08 05:15:38

您可以在文本单元格渲染器中使用多行字符串。例如,下面是我使用的一个应用程序的示例:https://github.com/wmvanvliet/Chimara/blob/browser/player/browser.c

在单元格渲染器上设置自定义数据函数:

代码语言:javascript
复制
gtk_tree_view_column_set_cell_data_func(column, renderer, (GtkTreeCellDataFunc)text_function, NULL, NULL);

这是一个自定义数据函数的示例,它可以很好地将作品的标题、作者和出版年份格式化为单元格呈现器的标记属性:

代码语言:javascript
复制
static void
text_function(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
{
    char *title, *author, *rendered_string;
    unsigned year;
    gtk_tree_model_get(model, iter,
        1, &title,
        2, &author,
        3, &year,
        -1);
    rendered_string = g_strdup_printf("<big><big><b><i>%s</i></b></big>\nby %s</big> (%d)", title, author, year);
    g_object_set(cell, "markup", rendered_string, NULL);
}
票数 2
EN

Stack Overflow用户

发布于 2012-07-08 01:36:26

对于TreeView,可以使用gtk_tree_view_set_headers_visible(view,false)隐藏列标题。这似乎也删除了列分隔符,尽管我找不到任何关于此行为的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11376185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档