#include GtkWidget *txtResult = 0; void button_clicked(GtkWidget *widget, gpointer data) { gchar *result; result = "Ergebnis"; gtk_entry_set_text (txtResult,result); } static void activate (GtkApplication* app, gpointer user_data) { // Mainwindow GtkWidget *window; window = gtk_application_window_new(app); // Top level container GtkWidget *vbox; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10); gtk_container_add(GTK_CONTAINER(window), vbox); // Add a caption (first "row") GtkWidget *lblCaption; lblCaption = gtk_label_new("Berechnung des Kraftstoffverbrauchs"); gtk_box_pack_start(GTK_BOX(vbox), lblCaption, FALSE, FALSE, 5); // Distance entry // ---------------------------------------------------- // Container for the distance GtkWidget *hboxDistance; // Label distance GtkWidget *lblDistance; // Textfield distance GtkWidget *txtDistance; // Create a vertical container box hboxDistance = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10); gtk_container_add(GTK_CONTAINER(window), hboxDistance); // Add first the label and then the textfield to the horizontal box lblDistance = gtk_label_new("Gefahrene Gesamtstrecke:"); gtk_box_set_spacing(hboxDistance,16); // Adjust label width gtk_box_pack_start(GTK_BOX(hboxDistance), lblDistance, FALSE, FALSE, 5); txtDistance = gtk_entry_new(); // Empty textfield gtk_box_pack_start(GTK_BOX(hboxDistance), txtDistance, TRUE, TRUE, 5); // ---------------------------------------------------- //Now add this hboxDistance Container as an entry (second row) gtk_box_pack_start(GTK_BOX(vbox), hboxDistance, FALSE, FALSE, 5); // ---------------------------------------------------- // Fuel entry ----------------------------------------- // ---------------------------------------------------- // Container for the distance GtkWidget *hboxFuel; // Label distance GtkWidget *lblFuel; // Textfield distance GtkWidget *txtFuel; // Create a vertical container box hboxFuel = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10); gtk_container_add(GTK_CONTAINER(window), hboxFuel); // Add first the label and then the textfield to the horizontal box lblFuel = gtk_label_new("Gesamtverbrauch in Litern:"); gtk_box_pack_start(GTK_BOX(hboxFuel), lblFuel, FALSE, FALSE, 5); txtFuel = gtk_entry_new(); // Empty textfield gtk_box_pack_start(GTK_BOX(hboxFuel), txtFuel, TRUE, TRUE, 5); // ---------------------------------------------------- //Now add this hboxFuel Container as an entry (third row) gtk_box_pack_start(GTK_BOX(vbox), hboxFuel, FALSE, FALSE, 5); // Create and add button to the container(fourth row) GtkWidget *btnCalc = gtk_button_new_with_label("Berechnen"); gtk_box_pack_start(GTK_BOX(vbox), btnCalc, FALSE, FALSE, 5); txtResult = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(vbox), txtResult, TRUE, TRUE, 5); // Create signal on button click event g_signal_connect(G_OBJECT(btnCalc), "clicked", G_CALLBACK(button_clicked), NULL); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_widget_show_all(window); } int main (int argc, char *argv[]) { GtkApplication *app; int status; app = gtk_application_new("", G_APPLICATION_FLAGS_NONE); g_signal_connect(app, "activate", G_CALLBACK (activate), NULL); status = g_application_run(G_APPLICATION (app), argc, argv); g_object_unref(app); return status; }