
FAQ GTK+Consultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 101, derni�re mise � jour : 22 f�vrier 2018 Ajouter une question
Cette faq a �t� r�alis�e � partir des questions fr�quemment pos�es sur les forums de www.developpez.com et de l'exp�rience personnelle des auteurs.
Je tiens � souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose sont correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette faq ne pr�tend pas non plus �tre compl�te. Si vous trouvez une erreur, ou que vous souhaitez devenir r�dacteur, lisez ceci.
Sur ce, nous vous souhaitons une bonne lecture, L'�quipe GTK+.
Lors de la cr�ation de la colonne, habituellement de la forme :
Code C : | S�lectionner tout |
GtkTreeViewColumn column = gtk_tree_view_column_new_with_attributes ("Projects", render, "text", 0, NULL);
Pour modifier la couleur du texte d'une ligne, il est possible d'utiliser les balises Pango de mise en forme, mais si vous souhaitez modifier la couleur d'arri�re plan, seule la partie contenant du texte sera modifi�e, le reste de la ligne restera blanche.
Si vous souhaitez modifier l'arri�re plan d'une ligne enti�re, il suffit de cr�er une colonne de type GDK_TYPE_COLOR et de pr�ciser lors de la cr�ation du rendu de la colonne (GtkCellRenderer), que cette colonne correspond � la couleur d'arri�re plan de la ligne.
Voici un exemple qui alterne la couleur d'une ligne :
Code C : | S�lectionner tout |
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 | #include <gtk/gtk.h> #define NB_COLORS (sizeof (colors)/sizeof(colors[0])) static const GdkColor colors[] = { {0, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF}, {0, 0xE0E0E0, 0xE0E0E0, 0xE0E0E0} }; int main (int argc, char** argv) { GtkWidget* window = NULL; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (G_OBJECT (window), "destroy", gtk_main_quit, NULL); { gint i; GtkWidget* tree_view; GtkListStore* list_store = NULL; GtkCellRenderer *renderer = NULL; GtkTreeViewColumn* column = NULL; list_store = gtk_list_store_new (2, GDK_TYPE_COLOR, G_TYPE_STRING); tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store)); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), FALSE); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (NULL, renderer, "background-gdk", 0, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column); for (i = 0; i < 3; i++) { char* text = NULL; GtkTreeIter iter; gtk_list_store_append (list_store, &iter); text = g_strdup_printf ("Line %d", i); gtk_list_store_set (list_store, &iter, 0, &colors[i%NB_COLORS], 1, text, -1); g_free (text), text = NULL; } gtk_container_add (GTK_CONTAINER (window), tree_view); } gtk_widget_show_all (window); gtk_main (); return 0; } |
Proposer une nouvelle r�ponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plut�t sur le forum de la rubrique pour �aLes sources pr�sent�es sur cette page sont libres de droits et vous pouvez les utiliser � votre convenance. Par contre, la page de pr�sentation constitue une �uvre intellectuelle prot�g�e par les droits d'auteur. Copyright � 2025 Developpez Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'� trois ans de prison et jusqu'� 300 000 � de dommages et int�r�ts.