IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
logo

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+.

SommaireGTK+GtkWidgetGtkTreeView (2)
pr�c�dent sommaire suivant
 

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);
Il faut remplacer l'attribut text par markup ce qui vous permettra d'utiliser les balises de mise en forme pango.

Mis � jour le 30 septembre 2008 sub_khaine

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; 
}

Mis � jour le 30 septembre 2008 sub_khaine

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 �a


R�ponse � la question

Liens sous la question
pr�c�dent sommaire suivant
 

Les 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.