我已经按照代码填充了我的组合框中的项目:aaaa
,bbbb
,....:
GtkWidget *combo_screen_share;
GtkListStore *store;
GtkTreeIter iter;
combo_screen_share=app_gtk_get_widget(/* .... */);
GtkTreeModel *model;
GtkCellRenderer *renderer=gtk_cell_renderer_text_new();
model=GTK_TREE_MODEL((store=gtk_list_store_new(1,G_TYPE_STRING)));
gtk_combo_box_set_model(GTK_COMBO_BOX(combo_screen_share),model);
gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo_screen_share),renderer,TRUE);
gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo_screen_share),renderer,"text",0,NULL);
gtk_list_store_append(store,&iter);
gtk_list_store_set(store,&iter,0,_("aaaa"),-1);
gtk_list_store_append(store,&iter);
gtk_list_store_set(store,&iter,0,_("bbbb"),-1);
// and so on....
如何调用“clearAll”删除组合中的所有项目
我想用model
gtk_list_store_new
但改为:
aaaa aaaa
bbbb bbbb
谢谢,
答案 0 :(得分:4)
假设你上面放的代码相同,你只需要调用
gtk_list_store_clear (store);
你可能想检查这些字符串的所有权,因为我不太清楚它是怎么回事。然而,文档非常好:GtkListStore
答案 1 :(得分:1)
首先关闭它真的很奇怪,我没有找到任何文档如何从组合框中删除GTK + C代码的所有项目。
根据我使用Swing的经验,我直接为NULL
设置了model
:
gtk_combo_box_set_model(GTK_COMBO_BOX(combo_screen_share),NULL);
它对我有用。
我不知道它的好方法,还是等待其他回复。