我想填充gtk2 gtk_list,然后在函数中尝试此代码块:
GList (*List) = NULL;
GtkWidget (*ListBox) = gtk_list_new();
List = g_list_prepend(List, "List Item");
gtk_container_add(GTK_CONTAINER(Vbox), ListBox);
gtk_list_prepend_items(GTK_LIST(ListBox), List);
我确定我的功能没有错。我有一个细分错误?为什么?我该怎么做才能修复它?
您正在segfaulting,因为您正在混合 GLIST 和 deverated gtklist gtklist list function。
旧的gtklist被弃用,与Glist不同。注意:
GList (*List) = NULL;
...
List = g_list_prepend(List, "List Item");
/* now you switch to gtk_list_... and GtkList */
gtk_container_add(GTK_CONTAINER(Vbox), ListBox);
gtk_list_prepend_items(GTK_LIST(ListBox), List);
解决方案:只需使用GList
和g_list...
功能,然后避免使用的GtkList
和gtk_list...
对应物。GList
和g_list...
旨在替换较早的类型和功能,并且在您的GTK 2应用程序中编译时将无缝工作。