code for list&tree widget

    技术2022-05-11  62

     #include <gtk/gtk.h>

    enum{ NAME_COLUMN, PHONE_COLUMN, N_COLUMN,};

    GtkListStore* create_list_model(void){  GtkListStore *list_store; GtkTreeIter iter;  list_store=gtk_list_store_new(N_COLUMN,G_TYPE_STRING,G_TYPE_STRING); gtk_list_store_append(list_store,&iter);  //插入数据 gtk_list_store_set(list_store,&iter,NAME_COLUMN,"LIXUAN",PHONE_COLUMN,"136022222",-1);

     return list_store;

     }

    GtkWidget* create_list(GtkListStore *list_store){  GtkWidget *view; GtkTreeModel *model; GtkCellRenderer *renderer; GtkTreeViewColumn *column;  model=GTK_TREE_MODEL(list_store); view=gtk_tree_view_new_with_model(model);  renderer=gtk_cell_renderer_text_new(); column=gtk_tree_view_column_new_with_attributes("name",renderer,"text",NAME_COLUMN,NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(view),column);  renderer=gtk_cell_renderer_text_new(); column=gtk_tree_view_column_new_with_attributes("phone",renderer,"text",PHONE_COLUMN,NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(view),column);  return view; }

    int main(int argc,char *argv[]){  GtkWidget *window,*frame,*view;  GtkListStore *model;  gtk_init(&argc,&argv);  window=gtk_window_new(GTK_WINDOW_TOPLEVEL);  g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);    frame=gtk_frame_new("List View");  gtk_container_add(GTK_CONTAINER(window),frame);    model=create_list_model();  view=create_list(model);  gtk_container_add(GTK_CONTAINER(frame),view);    gtk_widget_show_all(window);  gtk_main();  return FALSE;  }


    最新回复(0)