私はgladeとgtkをC言語で使用してアプリケーションを作成しています。私はgladeファイルを持っており、私はウィジェットのリストを作成する必要があることを明確にするために、私は可変数の行を作成する必要があり、各行にはウィジェット、ラベル、ボタンなどを入れる必要があります。 私のgladeファイル変更をCコードから永久に修正しましたか?gtkインターフェイスを作成して保存するには
ここに私のコードが、それは、グリッドが表示されないと空き地のファイルに変更を保存しません。
void on_Pagamento1_clicked() {
GtkBuilder *builderPagamento;
GtkWidget *window;
GtkGrid *g_grd_linea;
GtkWidget *g_cbt_mattino = gtk_combo_box_text_new_with_entry();
GtkWidget *g_lbl_nome = gtk_label_new ("Nome");
GtkWidget *g_lbl_cognome = gtk_label_new ("Cognome");
GtkWidget *g_lbl_eta = gtk_label_new ("Eta");
GtkLayout *g_lyt_layout;
int i;
builderPagamento = gtk_builder_new();
gtk_builder_add_from_file (builderPagamento, "glade/pagamento.glade", NULL);
window = GTK_WIDGET(gtk_builder_get_object(builderPagamento, "pagamento"));
gtk_builder_connect_signals(builderPagamento, NULL);
g_lyt_layout = GTK_LAYOUT(gtk_builder_get_object(builderPagamento, "layout"));
gtk_combo_box_text_append_text (g_cbt_mattino,"35.00");
gtk_label_set_text(GTK_LABEL(g_lbl_nome), "Prova");
g_grd_linea = gtk_grid_new();
for(i=1;i<=4;i++){
gtk_grid_insert_column (g_grd_linea,i);
}
gtk_grid_attach (g_grd_linea,g_lbl_nome,1,0,1,1);
gtk_grid_attach (g_grd_linea,g_lbl_cognome,2,0,1,1);
gtk_grid_attach (g_grd_linea,g_lbl_eta,3,0,1,1);
gtk_grid_attach (g_grd_linea,g_cbt_mattino,4,0,1,1);
gtk_layout_put(g_lyt_layout,g_grd_linea,0,0);
g_object_unref(builderPagamento);
gtk_widget_show(window);
}
EDIT: 私は私の問題を解決したと思う:ウィンドウがないので、メインウィンドウはボタンを押すだけで作成され、ファイルを開き、CコードからgladeのXMLコードを変更するので、ボタンを押すと変更されたgladeファイルと結果として変更されたウィンドウが表示されます
あなたのコードを貼り付けてください。 –