【发布时间】:2019-02-28 18:36:27
【问题描述】:
我在两个嵌套的 Paned 小部件内有三个 TreeView 小部件:
- 窗格(水平)
- 窗格(垂直)
- 树视图
- 树视图
- 树视图
- 窗格(垂直)
也就是说,左边有两个TreeView,右边有一个,都可以调整大小。此外,所有 TreeView 都在 ScrolledWindows 内,水平滚动条策略设置为“从不”。
左侧的两个 TreeView 都只有一列带有文本。当我在顶级窗格组件中移动滑块以使左侧的两个 TreeView 更小时,如果宽度太小而无法容纳列中的文本,我希望它们在右侧被剪裁。相反,它看起来好像整个 TreeView(两者)在窗口边界之外向左滑动。这是非常违反直觉的,更重要的是,隐藏扩展器,这是最先被隐藏的东西。
如上图所示,当我将垂直滑块向左拖动时,左侧两个 TreeView 中的列都会滑出窗口“外部”;图片的左边界也是窗口的左边界。
这种行为显然取决于列内值的最大大小,也就是说,只有在最长的值不再适合视口后才会开始这种“滑动”,所以看起来就像 TreeView 或里面的列它有一些其他组件无法缩小的最小尺寸。但是,为了以防万一,我已将所有可能相关的最小尺寸设置为 0(尽管它也不适用于默认的缺少最小尺寸)。
我希望调整 TreeView 及其列的大小,而不是这种行为,必要时隐藏右侧的一部分值。但似乎我在 Gtk 文档和 Glade UI 中找不到任何可以帮助我的东西。
我正在使用 Python 和 pygobject/Gtk3,并且我还使用 Glade 交互式地构建 UI。
【问题讨论】: