Gtk+ 删除 Gtk::Treeview 上第一列的填充/边距
Posted
技术标签:
【中文标题】Gtk+ 删除 Gtk::Treeview 上第一列的填充/边距【英文标题】:Gtk+ Delete padding/margin of first column on Gtk::Treeview 【发布时间】:2017-09-02 00:41:24 【问题描述】:我需要 Gtk :: TreeView 的第一列有“ALIGN_LEFT”,如时间戳列等。
我试过了:
Gtk::TreeViewColumn* numberColumn = Gtk::manage(new Gtk::TreeViewColumn("#", treeModel->getModelColumn(FIRST_COLUMN)));
Gtk::CellRendererText* const renderNumber = static_cast<Gtk::CellRendererText*>(number->get_first_cell());
renderNumber->set_alignment(0.0, 0.0);
renderNumber->set_padding(0, 0);
但我得到相同的行为。我在 Ubuntu 14.04 上使用 Gtk3 版本 3.10.8-0ubuntu1
【问题讨论】:
【参考方案1】:很抱歉回答我自己的问题,我很绝望,文档不是很友好。
该空间是为箭头保留的,该箭头用子级展开一行。
解决方案:
m_treeView.set_show_expanders(false);
【讨论】:
您使用的是 ListStore 还是 TreeStore? 我创建了一个“CustomTreeModel”,它实现了像 ListStore 或 TreeStore 这样的 GtkTreeModel。 如果你使用 ListStore 会发生这种情况吗,例如在一个简单的测试用例中。 @murrayc 让我测试一下,我认为是否发生,默认行为应该是false。 @murrayc 是否使用 ListStore 都不会发生。应该在我的自定义模型上设置哪个属性?以上是关于Gtk+ 删除 Gtk::Treeview 上第一列的填充/边距的主要内容,如果未能解决你的问题,请参考以下文章
是否可以指示 `Gtk::TreeView` 显示自定义类型?
为啥 Gdk::Pixbufs 在 Gtk::TreeView 中不可见?