問題描述: 把列表listview寫入notebook里。
在main函數中,
win = create_and_set_a_window(); book = gtk_notebook_new(); gtk_notebook_set_tab_pos( GTK_NOTEBOOK( book ), GTK_POS_LEFT ); gtk_container_add( GTK_CONTAINER( win ), book ); create_page_one( book, win ); //用來創建選項卡1
在create_page_one函數里
typedef struct _ADD { GtkWidget *view; GtkWidget *win; } ADD; 。。。 ADD adder; 。。。 /* ** 創建列表 */ view = create_list_view(); adder.win = win; adder.view = view;
。。。
g_signal_connect( G_OBJECT( button1 ), "clicked", G_CALLBACK( event_to_add ), (gpointer)&adder ); //綁定事件 event_to_add
在event_to_add函數里
//函數原型:event_to_add( GtkWidget *widget, gpointer data ) 。。。 GtkWidget *view; GtkWidget *win; 。。。 view = ((ADD *)data)->view; win = ((ADD *)data)->win; 。。。 /* ** 創建個對話框 */ dialog = gtk_dialog_new_with_buttons( "添加新用戶", GTK_WINDOW( win ), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL ); 。。。 /* ** 添加到列表里 */ model = gtk_tree_view_get_model( GTK_TREE_VIEW( view ) ); gtk_list_store_append( GTK_LIST_STORE( model ), &iter); gtk_list_store_set( GTK_LIST_STORE( model ), &iter, USER_ID, user_id, PASSWD, passwd, CLASS, flag, CHOICE, FALSE, -1 ); 。。。
