2010-11-16 39 views
2

Je tente de colorier des lignes désactivées dans un widget d'affichage gtk tree d'une couleur gris clair. D'après ce que j'ai lu, je suis supposé définir la propriété background-gdk du cellrenderer correspondant et la lier à une colonne modèle. Ce genre de travaux.Couleur d'arrière-plan de ligne GtkTreeView Widget

Gtk::CellRendererText* textRenderer = manage(new Gtk::CellRendererText()); 
textRenderer->property_editable() = false; 
Gtk::TreeViewColumn *col = manage(new Gtk::TreeViewColumn("Column1", *textRenderer)); 
col->add_attribute(*textRenderer, "background-gdk", m_treeview_columns.m_back_color); 
my_treeview.append_column(*col); 

Gtk::TreeModel::Row row; 
for (int i = 0; i < NUMBER_OF_ROWS; iLane++){ 
    row = *(treeview_liststore->append()); 
    row[m_workListColumns.m_back_color] = Gdk::Color("#CCCCCC"); 
} 

alt text

À la fin cependant, je ne reçois que les cellules colorées correctement. MAIS je reçois aussi un espace blanc laid entre les cellules. Est-ce que quelqu'un sait d'un moyen de résoudre ce problème ou une meilleure façon d'obtenir l'effet que je suis après?

Répondre

3

Pourriez-vous définir l'arrière-plan de la ligne pour qu'elle corresponde à l'arrière-plan de la cellule ou définir ensemble le bakground de l'arborescence? Ou peut-être la cellule avec cell-background-gdk?

+1

Merci @ivo s, j'utilisais la mauvaise propriété, j'avais besoin de "cell-background-gdk" et non de "background-gdk". Merci pour l'aide. – Mark

+1

np :) Je vais transmettre vos remerciements à google :) –