我正在尝试将 gtk TreeView 小部件中禁用的行着色为浅灰色。根据我所读到的内容,我应该设置相应 cellrenderer 的 background-gdk 属性并将其绑定(bind)到模型列。这种作品。
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");
}
最后,我只得到了正确着色的单元格。但我在单元格之间也发现了一个丑陋的空白。有谁知道解决此问题的方法或更好的方法来实现我想要的效果?
最佳答案
您能否将行的背景设置为与单元格背景相匹配,或者将 TreeView 的背景全部设置在一起?或者也许是带有 cell-background-gdk 的单元格?
关于c++ - 行背景颜色 GtkTreeView 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4196854/