# Entry (C)

Monica Kochofar
monicakochofar@gmail.com 2012
Ett textinmatningsfält med en rad
Sebastian Rasmussen
sebras@gmail.com 2019
Anders Jonsson
anders.jonsson@norsjovallen.se 2021

# Entry

Detta program hälsar dig i terminalen.

#include <gtk/gtk.h>

/*Detta är återanropsfunktionen. Det är en hanterarfunktion som reagerar på signalen. I detta fall kommer den fånga textinmatningen från inmatningsrutan och skriva ut en rad till användaren.*/ static void on_activate (GtkEntry *entry, gpointer user_data) { const char *name; name = gtk_entry_get_text (entry);

g_print ("\nHej %s!\n\n", name); }

static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *entry_box;

/*Skapa ett fönster med en titel, en standardstorlek, och en inställd kantbredd*/ window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Vad heter du?"); gtk_window_set_default_size (GTK_WINDOW (window), 300, 100); gtk_container_set_border_width (GTK_CONTAINER (window), 10);

/*Skapa en ny inmatningsruta, och lägg till den till fönstret*/ entry_box = gtk_entry_new (); gtk_container_add (GTK_CONTAINER (window), entry_box);

/*Ansluter ”activate”-signal till återanropet*/ g_signal_connect (GTK_ENTRY (entry_box), "activate", G_CALLBACK (on_activate), NULL);

gtk_widget_show_all (window); }

int main (int argc, char **argv) { GtkApplication *app; int status;

app = gtk_application_new ("org.gtk.example", 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; }

I detta exempel använde vi följande:

GtkApplication

GtkWindow

GtkEntry