empaquetado_en_tabla.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <gtk/gtk.h>
17
18 static void callback(GtkWidget *widget, gpointer datos){
19 g_print("Has presionado el [%s].\n", (char *)datos);
20 }
21
22
23 static gboolean borrar(GtkWidget *widget, GdkEvent *evento, gpointer datos){
24 gtk_main_quit();
25 return FALSE;
26 }
27
28 int main(int argc, char *argv[]){
29 GtkWidget *ventana;
30 GtkWidget *boton;
31 GtkWidget *tabla;
32
33 gtk_init(&argc, &argv);
34 ventana = gtk_window_new(GTK_WINDOW_TOPLEVEL);
35 gtk_window_set_title(GTK_WINDOW(ventana), "Tabla");
36 g_signal_connect(G_OBJECT(ventana), "delete_event", G_CALLBACK(borrar), NULL);
37 gtk_container_set_border_width(GTK_CONTAINER(ventana), 20);
38 tabla = gtk_table_new(2, 2, TRUE);
39 gtk_container_add(GTK_CONTAINER(ventana), tabla);
40 boton = gtk_button_new_with_label("Boton 1");
41 g_signal_connect(G_OBJECT(boton), "clicked", G_CALLBACK(callback), (gpointer)"boton 1");
42 gtk_table_attach_defaults(GTK_TABLE(tabla), boton, 0, 1, 0, 1);
43 gtk_widget_show(boton);
44 boton = gtk_button_new_with_label("Boton 2");
45 g_signal_connect(G_OBJECT(boton), "clicked", G_CALLBACK(callback), (gpointer)"boton 2");
46 gtk_table_attach_defaults(GTK_TABLE(tabla), boton, 1, 2, 0, 1);
47 gtk_widget_show(boton);
48 boton = gtk_button_new_with_label("Salir");
49 g_signal_connect(G_OBJECT(boton), "clicked", G_CALLBACK(borrar), NULL);
50 gtk_table_attach_defaults(GTK_TABLE(tabla), boton, 0, 2, 1, 2);
51 gtk_widget_show(boton);
52 gtk_widget_show(tabla);
53 gtk_widget_show(ventana);
54 gtk_main();
55
56 return 0;
57 }
CategoryLenguajeC | CategoryProgramacion