0

コンボ ボックス モデルにテキストを入力するコードがありますが、初めて奇妙な動作が見られます。

Blade GUI editir を使用して*.ui、単一の空のコンボボックスを生成するファイルを作成します。

その後、メソッドからコンボを取得し、コンボを変更/埋めます。

これは私のコードのスニペットです:

GtkWidget *combo_screen_share;

GtkTreeModel *model;

// here I get empty combobox
combo_screen_share=myprog_gtk_get_widget(call_view,"window_screen_stream");

        GtkCellRenderer *renderer=gtk_cell_renderer_text_new();

        model=GTK_TREE_MODEL((store=gtk_list_store_new(1,G_TYPE_STRING)));

        int i;
        for(i=0; i<200; i++){
            gtk_list_store_append(store,&iter);
            gtk_list_store_set(store,&iter,0,"Full Screen",-1);
        }

        gtk_combo_box_set_model(GTK_COMBO_BOX(combo_screen_share),model);
        g_object_unref(G_OBJECT(model));


        gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo_screen_share),renderer,FALSE);
        gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo_screen_share),renderer,"text",0,NULL);


        gtk_combo_box_set_active(GTK_COMBO_BOX(combo_screen_share),0);

                    // bind 'onChange' with other method as callback 
        g_signal_connect(G_OBJECT(combo_screen_share),"changed",(GCallback)gtk_combo_box_new_with_model,NULL);

200 行の文字列を作成する必要があり"Full Screen"ます。

ただし、コンボボックスをクリックすると、ギャップ/スペースとして空の半分の画面が表示され、200 個のアイテムがすべて表示されます。

ループを 100 回実行すると、スペースが小さくなります。

ここに画像の説明を入力

誰かが同じことに遭遇し、それを修正する方法を知っていますか?

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

4

1 に答える 1