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 中不可见?

GTK Treeview 固定宽度

TreeViewColumn标头中的PyGTK Entry小部件

gtkmm 中树视图选择回调的签名和功能

在 gtkmm 中向树视图中的行添加工具提示