java treeview使用详解_GTK treeview原理及使用方法解析

GtkTreeView 构件是一个高级的构件,利用他你就可以制作出漂亮的普通列表或者是树状的列表。这个构件里可以包含一或者多行。他的构架呢?正是采用了大名鼎鼎的MVC (Model View Controller) 设计框架。也就是说数据和显示方式是进行了一种分离的操作。于是在GtktreeView构件中确实还有着其他几个独立的对象结构(objects)。其中 GtkCellRenderer 就决...
摘要由CSDN通过智能技术生成

GtkTreeView 构件是一个高级的构件,利用他你就可以制作出漂亮的普通列表或者是树状的列表。这个构件里可以包含一或者多行。他的构架呢?正是采用了大名鼎鼎的MVC (Model View Controller) 设计框架。也就是说数据和显示方式是进行了一种分离的操作。

于是在GtktreeView构件中确实还有着其他几个独立的对象结构(objects)。

其中 GtkCellRenderer 就决定了在GtkTreeViewColumn. 中的数据究竟是如何来进行显示呈现的。

GtkListStore 和GtkTreeStore 的功能为体现模型(model)的作用。

也就是说他们是用来处理和分析将要在GtkTreeView显示的数据的。

GtkTreeIter 则是一个数据结构被用于在GtkTreeView构件中,对行中的数据进行操作。

GtkTreeSelection 则是用来处理选项的。

效果如下

22cd5b08f29f03059edae892dd6784f8.png

代码如下

#include

enum

{

LIST_ITEM = 0,

N_COLUMNS

};

void init_list(GtkWidget *list)

{

GtkCellRenderer *renderer;

GtkTreeViewColumn *column;

GtkListStore *store;

renderer = gtk_cell_renderer_text_new ();

column = gtk_tree_view_column_new_with_attributes("List Items",

renderer, "text", LIST_ITEM, NULL);

gtk_tree_view_append_column(GTK_TREE_VIEW(list), column);

store = gtk_list_store_new(N_COLUMNS, G_TYPE_STRING);

gtk_tree_view_set_model(GTK_TREE_VIEW(list),

GTK_TREE_MODEL(store));

g_object_unref(store);

}

void add_to_list(GtkWidget *list, const gchar *str)

{

GtkListStore *store;

GtkTreeIter iter;

store = GTK_LIST_STORE(gtk_tree_view_get_model

(GTK_TREE_VIEW(list)));

gtk_list_store_append(store, &iter);

gtk_list_store_set(store, &iter, LIST_ITEM, str, -1);

}

void on_changed(GtkWidget *widget, gpointer label)

{

GtkTreeIter iter;

GtkTreeModel *model;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值