皆さん、
私は、私が作った Gtk_tree_view と何か関係がある小さな関数を作ろうとしています。エラー応答は次のようになります:
(main:8026): Gtk-CRITICAL **: IA__gtk_tree_view_get_model: assertion `GTK_IS_TREE_VIEW (tree_view)' failed
(main:8026): Gtk-CRITICAL **: IA__gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed
(main:8026): Gtk-CRITICAL **: IA__gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed
^C
そしてソース、ここに行きます:
void addlist(bahan *unit, const gchar *str)
{
GtkListStore *store;
GtkTreeIter iter; // penyambung store_append and store_set
store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(unit->treeview_aktifitas)));
gtk_list_store_append(store, &iter); // need unary &, coz iter aint define like a pointer
gtk_list_store_set(store, &iter, 1, str, -1);
}
ご想像のとおり、「ユニット」の構造は次のようになっていました。
typedef struct
{
GtkWidget *window;
GtkWidget *notebook;
GtkWidget *start;
GtkWidget *verbose;
GtkWidget *settings;
GtkWidget *about;
GtkWidget *statusbar;
GtkWidget *treeview_aktifitas;
guint statusbar_id;
} bahan;
そしてこれによって接続されます:
unit->treeview_aktifitas = GTK_WIDGET(gtk_builder_get_object(main,"treeview1"));
実際のケースでは、「glade 3」を使用しており、glade ファイルに 2 つの列があります。gtk_list_store_set に設定するにはどうすればよいですか?
さらに助けていただければ幸いです:)