1

我需要从列标题中删除排序箭头。这可以通过调用set_sort_indicator(false)列来完成。

箭头没有显示,但它的空间似乎仍然被保留。如果列的标题大到足以填满所有标题,则最后一部分将被剪裁(箭头应位于的位置)。

有没有办法让标题填满整个标题?

4

3 回答 3

0

这在 GTK+ 中似乎有点奇怪。我下载并阅读了 GtkTreeViewColumn 代码的相关部分,它似乎使用了这个逻辑:

  if (tree_column->show_sort_indicator ||
       (GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id >= 0))
    gtk_widget_show (arrow);
  else
    gtk_widget_hide (arrow);

arrow持有箭头的小部件在哪里。这似乎表明箭头小部件总是包装在构成列标题的水平框中,然后如果它不应该是可见的,则只是隐藏(不删除)。这意味着它仍然存在于盒子中,占用空间并导致标签被剪裁。

我建议通过GTK+ bugtracker搜索有关此的问题,如果没有找到,请创建一个。

于 2009-05-28T08:55:23.623 回答
0

好的,所以我已经向 gtk 提交了一个错误报告。他们说这不是问题,也不会解决。

我查看了其他图形工具包(windows、qt),它们的实现有所不同,但这对 gtk 团队中的人来说似乎并不重要。

于 2009-06-04T09:32:29.913 回答
0

好的,您可以对不希望它有箭头set_clickable的列使用方法, 然后将其用于信号并将其绑定到将用于获取当前排序顺序函数,然后使用.signal_connectclickedget_sort_column_idset_sort_column_id

于 2013-01-28T14:02:49.090 回答