Bonjour,
Voilà, bizarrement mon Code::Blocks me sort cette erreur :
undefined reference to 'gtk_set_sensitive'
Pourtant j'utilise la dernière version stable de GTK...
une idée ?
Merci d'avance
Bonjour,
Voilà, bizarrement mon Code::Blocks me sort cette erreur :
undefined reference to 'gtk_set_sensitive'
Pourtant j'utilise la dernière version stable de GTK...
une idée ?
Merci d'avance
Pourquoi n'utilises tu pas gtk_widget_set_sensitive ?
Est-ce que tu aurais un lien vers la documentation de la fonction gtk_set_sensitive ?
j'ai pas trouvé la doc...
mais des résutats sur google... J'connaissais pas gtk_widget_set_sensitive, ou plutot j'l'avais oubliée ^^ C'est éxactement ce qu'il me fallait en tout cas merci ^^
Sinon j'ai essayé cette astuce pour mettre une image en fond d'écran :
Mais il y a plein de fonction qui ne sont pas reconnues comme gdk_window_set_back_pixmap...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79 #include <gtk/gtk.h> void fond_ecran_set(GtkWidget *pWindow, gpointer user_data) { GdkPixmap *pixmap_fond=(GdkPixmap*) user_data; if (pixmap_fond) { gdk_window_set_back_pixmap (pWindow->window, pixmap_fond, FALSE); } } gboolean fond_ecran_expose(GtkWidget *pWindow, GdkEventExpose *event, gpointer user_data) { GdkPixmap *pixmap_fond=(GdkPixmap*) user_data; if (pixmap_fond) { gdk_window_set_back_pixmap (pWindow->window, pixmap_fond, FALSE); return TRUE; } return FALSE; } gint main(int argc, char **argv) { GtkWidget *pWindow; GdkPixbuf *pixbuf_fond=NULL; GdkPixmap *pixmap_fond=NULL; // Initialisation des librairies GTK+ gtk_init(&argc, &argv); // Création d'une fenêtre principale. pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(pWindow), "Fenêtre principale"); gtk_window_set_default_size(GTK_WINDOW(pWindow), 800, 600); // Chargement de l'image dans un pixbuf à la taille de la fenêtre (pensez à changer le nom et le chemin) pixbuf_fond=gdk_pixbuf_new_from_file_at_size("./08_1280x1024.jpg", 800,600, NULL); /* Si le chargement a réussi on crée le pixmap qui sera utilisé pour le fond. Dans le cas contraire pixmap_fond=NULL. Cette valeur étant transmise aux fcts d'affichage, on peut a tout moment savoir si on peut afficher ou non.*/ if (pixbuf_fond) { // Création d'un GdkPixmap vierge pixmap_fond=gdk_pixmap_new(pWindow->window, gdk_pixbuf_get_width(pixbuf_fond), gdk_pixbuf_get_height(pixbuf_fond), gdk_visual_get_system()->depth); // insertion du GdkPixbuf (image chargée) dans le GdkPixmap. gdk_draw_pixbuf(pixmap_fond, pWindow->style-> fg_gc[GTK_WIDGET_STATE (pWindow)], pixbuf_fond,0,0,0,0, gdk_pixbuf_get_width(pixbuf_fond), gdk_pixbuf_get_height(pixbuf_fond), gdk_visual_get_system()->depth,0,0); // Supression du GdkPixbuf devenu inutile g_object_unref(pixbuf_fond); } /* Signaux associés pour l'affichage de l'image de fond. Vous pourrez y ajouter le signal "size-allocate" pour modifier la taille de l'image de fond en fonction de la taille de la fenêtre.*/ g_signal_connect(G_OBJECT(pWindow), "realize", G_CALLBACK(fond_ecran_set), pixmap_fond); g_signal_connect(G_OBJECT(pWindow), "expose-event", G_CALLBACK(fond_ecran_expose), pixmap_fond); // Signaux associés à la fenêtre principale pour quitter. g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(pWindow), "delete_event", G_CALLBACK(gtk_main_quit), NULL); // Boucle principale GTK+ gtk_widget_show_all(pWindow); gtk_main(); return 0; }
Ah non... C'est pas marqué qu'il faut l'inclure.
Je l'ai inclus mais le résultat est le même...
voici la liste de fonctions qui ne marchent pas :
`gdk_pixbuf_new_from_file_at_size_utf8'
`gdk_visual_get_system'
`gdk_pixbuf_get_height'
`gdk_pixbuf_get_width'
`gdk_pixmap_new'
`gdk_visual_get_system'
`gdk_pixbuf_get_height'
`gdk_pixbuf_get_width'
`gdk_draw_pixbuf'
`gdk_window_set_back_pixmap'
Génial ! Ca marche
Seul problème : ça écrase tout !
Les labels et les bouttons ne saffichent plus :-/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager