1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#include <stdlib.h>
#include <gtk/gtk.h>
const gchar *str0="debut_fonc",*str1="fin_fonc";
GtkWidget *plabel0;
void fonc()
{
gint j;
//c'est l'étape 1
gtk_label_set_label((GtkLabel *)plabel0,str0);
//c'est l'étape 2
for(j=0;j<300000000;j++)
{
}
//c'est l'étape 3
//gtk_label_get_label((GtkLabel *)plabel0);
//gtk_label_set_label((GtkLabel *)plabel0,str1);
}
int main(int argc, char** argv)
{
GtkWidget *window = NULL;
GtkWidget *ptable;
GtkWidget *button=NULL;
// Initialisation gtk
gtk_init(&argc, &argv);
// Création fenetre
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "chargement_label");
gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER_ALWAYS);
// Insertion de ptable dans la fenêtre principale
ptable=gtk_table_new(2,2,TRUE);
gtk_container_add(GTK_CONTAINER(window),ptable);
// Connexion du signal "delete-event" pour fermer l'application
g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
// Insertion d'un label
plabel0 = gtk_label_new("");
gtk_table_attach_defaults(GTK_TABLE(ptable), plabel0,1,2,0,1);
// Insertion d'un bouton pour basculer d'un label à l'autre
button = gtk_button_new_with_label ("changer_label");
gtk_table_attach_defaults(GTK_TABLE(ptable), button,0,1,1,2);
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(fonc), plabel0);
// Affichage du tout
gtk_widget_show_all(window);
gtk_main();
return EXIT_SUCCESS;
} |
Partager