Come fare una GUI in C

June 18

GUI, o l'interfaccia utente grafica, la programmazione è piuttosto raro nel linguaggio C --- queste librerie sono generalmente orientata agli oggetti e più adatto per l'utilizzo con C ++ e altri linguaggi. GTK +, tuttavia, è una GUI toolkit progettato per C, ma anche compatibile con molte altre lingue. È possibile scrivere una grafica "Ciao, mondo!" programma con GTK + utilizzando solo un paio di dozzine di linee di codice, creare rapidamente un programma semplice che consiste di una piccola finestra e un pulsante che chiude quando si fa clic.

istruzione

1 Scaricare e installare GTK +, la sua creazione da utilizzare con il compilatore C, come indicato nella documentazione. Aprite il vostro IDE o editor di testo e iniziare un nuovo progetto.

2 Includere i + file header di GTK e iniziare la funzione main (). Creare punti di riferimento per sia la finestra e il pulsante si inserisce all'interno di esso e inizializzare la libreria GTK + con la funzione gtk_init (). Questo dovrebbe essere simile alla seguente:

includere <gtk / gtk.h>

int main (int argc, char * argv [])

{

GtkWidget *window;

GtkWidget * tasto;

gtk_init (& argc, & argv);

3 Creare le strutture di dati per la finestra e dire il programma per chiudere la finestra se riceve il segnale "destroy". Dare la finestra di una imbottitura di 10 pixel intorno a qualsiasi widget in esso contenuti e creare un tale widget di, creando le strutture dati per un pulsante "Ciao, mondo!" Causa il pulsante per chiudere la finestra quando riceve il segnale "cliccato". Questo dovrebbe essere simile alla seguente:

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

g_signal_connect (finestra, "distruggere", G_CALLBACK (gtk_main_quit), NULL);

gtk_container_set_border_width (GTK_CONTAINER (finestra), 10);

button = gtk_button_new_with_label ( "Ciao, mondo");

g_signal_connect_swapped (pulsante, "cliccato", G_CALLBACK (gtk_widget_destroy), finestra);

4 Posizionare il pulsante all'interno della finestra e visualizzare entrambi sullo schermo. Chiamare la funzione gtk_main () per attendere l'input dell'utente, tornando in azione quando l'utente fa clic sul pulsante o tenta di chiudere il programma. Questo dovrebbe essere simile alla seguente:

gtk_container_add(GTK_CONTAINER(window), button);

gtk_widget_show (pulsante);

gtk_widget_show (finestra);

gtk_main ();

return 0;

}

5 Salvare il codice come "helloworld.c" e compilarlo con le librerie GTK +. Questo viene fatto con la seguente riga di comando utilizzando GCC --- consultare la documentazione se si utilizza un compilatore diverso C:

gcc -Wall -g helloworld.c -o helloworld pkg-config --cflags --libs gtk+-2.0