Voila un exemples de table. Il permet de ranger les widgets dans une grille.
Source / Exemple :
// table.c
// exemple d'utilisation des tables
// elles permettent de ranger les widgets dans une grille
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *Fenetre, *Label, *Bouton1, *Bouton2, *Bouton3, *Table;
gtk_init(&argc, &argv);
Fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(Fenetre), "Exemple de table");
Table = gtk_table_new(6, 6, FALSE); // cree une table de 6 lignes 6 colonnes
gtk_container_add(GTK_CONTAINER(Fenetre), Table);
Label = gtk_label_new("je suis dans une table"); // je cree un nouveau label
// je met le widget dans la table. il faut donne le coin superieur gauche et inferieur droit.
gtk_table_attach_defaults(GTK_TABLE(Table), Label, 0, 6, 0, 1);
Bouton1 = gtk_button_new_with_label("Fermer 1"); // je cree un nouveau bouton
gtk_signal_connect_object(GTK_OBJECT(Bouton1), "clicked", (GtkSignalFunc)gtk_exit, NULL);
// je met le widget dans la table. il faut donne le coin superieur gauche et inferieur droit.
gtk_table_attach_defaults(GTK_TABLE(Table), Bouton1, 0, 3, 1, 4);
Bouton2 = gtk_button_new_with_label("Fermer 2"); // je cree un nouveau bouton
gtk_signal_connect_object(GTK_OBJECT(Bouton2), "clicked", (GtkSignalFunc)gtk_exit, NULL);
gtk_table_attach_defaults(GTK_TABLE(Table), Bouton2, 3, 6, 1, 4);
Bouton3 = gtk_button_new_with_label("Fermer 3"); // je cree un nouveau bouton
gtk_signal_connect_object(GTK_OBJECT(Bouton3), "clicked", (GtkSignalFunc)gtk_exit, NULL);
gtk_table_attach_defaults(GTK_TABLE(Table), Bouton3, 0, 6, 4, 6);
gtk_widget_show_all(Fenetre); // je montre tout les widget de la fenetre
gtk_main(); // boucle principale de gtk
return(0);
}
Conclusion :
Vous pouvez evidement metre un container de n'importe quel type dans une table. l'inverse est vrai aussi.