0

コンボボックスをアイテムで埋めるコードに従いました: aaaabbbb、 .... :

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」を呼び出して、コンボからすべてのアイテムを削除するにはどうすればよいですか?

で再現しようと思いまし modelgtk_list_store_new

代わりに取得します:

aaaa      aaaa
bbbb      bbbb

ありがとうございました、

4

2 に答える 2

1

まず、GTK+ C コードのコンボ ボックスからすべての項目を削除する方法に関するドキュメントが見つからないのは本当に奇妙です。

Swingでの私の経験から、私はまっすぐに行き、次のように設定NULLしましたmodel

 gtk_combo_box_set_model(GTK_COMBO_BOX(combo_screen_share),NULL);

そしてそれは私のために働いた。

それが良い方法かどうかはわかりませんが、他の回答を待っています。

于 2013-09-15T07:33:27.447 に答える