删除GTK_组合框(GTK_树存储)中的所有行

删除GTK_组合框(GTK_树存储)中的所有行,gtk,Gtk,我想从combobox中删除所有行,我尝试了此操作,但保留了一行: GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); if (gtk_tree_model_get_iter_first(model, &iter)) { do { gtk_tree_store_remove(GTK_TREE_STORE(model), &

我想从combobox中删除所有行,我尝试了此操作,但保留了一行:

GtkTreeModel *model;
GtkTreeIter iter;   

model = gtk_combo_box_get_model(GTK_COMBO_BOX(combo));
if (gtk_tree_model_get_iter_first(model, &iter)) {
    do {
        gtk_tree_store_remove(GTK_TREE_STORE(model), &iter);
    } while (gtk_tree_model_iter_next(model, &iter));
}

gtk\u tree\u store\u remove()
文档中,您可以看到代码中不需要
gtk\u tree\u model\u iter\u next()
——您应该检查iter是否仍然有效。或者,您也可以使用
gtk\u tree\u store\u clear()