当前位置:  技术问答>linux和unix

怎样用GtkTreeView显示一个多行多列的控件?

    来源: 互联网  发布时间:2016-05-19

    本文导语:  另外GtkCellRenderer,GtkTreeStore,GtkTreeIter这几个东西都是什么意思,怎么用啊? 比方写一个: name     age (这行是title) zhangsan 20 lisi     21 如何用GtkTreeView实现呢?(PS:不准改用GtkCList) | ...

另外GtkCellRenderer,GtkTreeStore,GtkTreeIter这几个东西都是什么意思,怎么用啊?
比方写一个:
name     age (这行是title)
zhangsan 20
lisi     21
如何用GtkTreeView实现呢?(PS:不准改用GtkCList)

|
 #include
int main(int argc,char *argv[])
{
GtkTreeView *tree;
/*因为没有gtk_tree_iter_new()这样的函数,所以最好不要声明指针,如果声明指针的话,最好这样声明:
GtkTreeIter *iter=(GtkTreeIter*)mollac(sizeof(iter));
*/
GtkTreeIter iter;
GtkListStore *store;
GtkTreeViewColumn *column;
GtkCellRenderer *cell;
GtkWidget *window;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window),"delete-event",G_CALLBACK(gtk_main_quit),NULL);
tree=GTK_TREE_VIEW(gtk_tree_view_new());/*新建treeview控件*/
cell=gtk_cell_renderer_text_new();/*新建cell,就是表格里的每个小格子*/
column=gtk_tree_view_column_new_with_attributes("名称",cell,"text",0,NULL);/*把小格子添加到列里*/
gtk_tree_view_append_column(tree,column);/*把列添加到treeview控件里*/
cell=gtk_cell_renderer_text_new();
column=gtk_tree_view_column_new_with_attributes("年纪",cell,"text",0,NULL);
gtk_tree_view_append_column(tree,column);
store=gtk_list_store_new(2,G_TYPE_STRING,G_TYPE_INT);/*新建一个liststore,用来存放数据*/
gtk_list_store_append(store,&iter);/*向liststore里添加一行,iter存放这一行的信息*/
gtk_list_store_set(store,&iter,0,"zhangsan",1,20,-1);/*向iter所指向的行里,添加数据*/
gtk_list_store_append(store,&iter);
gtk_list_store_set(store,&iter,0,"lisi",1,21,-1);
gtk_tree_view_set_model(tree,GTK_TREE_MODEL(store));/*让tree显示store的内容*/
gtk_container_add(GTK_CONTAINER(window),GTK_WIDGET(tree));
gtk_widget_show_all(window);
gtk_main();
return 0;
}

|
column=gtk_tree_view_column_new_with_attributes("名称",cell,"text",0,NULL);/*把小格子添加到列里*/
gtk_tree_view_append_column(tree,column);/*把列添加到treeview控件里*/
cell=gtk_cell_renderer_text_new();
column=gtk_tree_view_column_new_with_attributes("年纪",cell,"text",1,NULL); /*这里写错了,第4个参数指定对应store里的哪个列,这里应该对应1列*/

|
up

|
运行一下gtk-demo,楼主需要的功能可以直接从gtk-demo得到源码(当然需要裁剪一下)

|
帮顶吧

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助:GTK+的GtkTreeView
  • GTK gtkiconview gtktreeview


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3