gtk+ 环境下,遇到assertion 'GTK_IS_NOTEBOOK (notebook)' failed,怎么破?

 Gtk-CRITICAL **: IA__gtk_notebook_remove_page: assertion 'GTK_IS_NOTEBOOK (notebook)' failed

#include
2  #include

3 GtkWidget*entry;
4 void notebook_remove(GtkWidget*button,gpointer notebook)
5 {
6 gint page;
7 gchar buffer[20];
8 page=gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
9 snprintf(buffer,20,"It is the %dth page",page);
10 gtk_entry_set_text(GTK_ENTRY(entry),buffer);
11 gtk_notebook_remove_page(GTK_NOTEBOOK(notebook),page);
12 }
13 int main(int argc,char**argv)
14 {
15 GtkWidget*window;
16 GtkWidget*tabel;
17 GtkWidget*notebook;
18 GtkWidget*button;
19 GtkWidget*label;
20 gchar bufferl[40];
21 gint i;
22 gtk_init(&argc,&argv);
23 window=gtk_dialog_new();
24 gtk_window_set_default_size(GTK_WINDOW(window),600,200);
25 notebook=gtk_notebook_new();
26 for(i=0;ivbox),notebook,FALSE,FALSE,0);
33 entry=gtk_entry_new();
34 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),entry,FALSE,FALSE,0);
35 gtk_entry_set_text(GTK_ENTRY(entry),"Nothing happens");
36 button=gtk_button_new_with_mnemonic("remove");
37 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->action_area),button,FALSE,FALSE,0);
38 g_signal_connect_swapped(GTK_OBJECT(button),"clicked",G_CALLBACK(notebook_remove),notebook);
39 button=gtk_button_new_with_label("close app");
40 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->action_area),button,FALSE,FALSE,0);
41 g_signal_connect(GTK_OBJECT(button),"clicked",G_CALLBACK(gtk_main_quit),NULL);
42 gtk_widget_show_all(window);
43 gtk_main();
44 return 0;
45 }
46

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值