如何在Gtk中设置hpane中右窗格的最小和当前大小

本文关键字:Gtk 设置 hpane | 更新日期: 2023-09-27 18:11:42

我正试图使应用程序窗口与左右窗格之间的可移动分隔符。在左边的窗格中,我有一个ListView。在右侧窗格中,我有一个带有一些标签,条目等的VBox。我添加了HPaned容器,将ListView添加到其左窗格和VBox添加到其右窗格。很简单。

问题来了:

  1. 当用户调整窗口大小时,我需要使右窗格保存其大小。虽然,似乎唯一支持的行为是当左窗格这样做。

  2. 我需要设置一个最小宽度的右窗格,所以它不会太小,如果用户试图调整它的大小,或者,因为第一个问题,只是调整窗口的大小较小。我没有找到任何方法去做。实际上,我可以使用windows . setgeometryhints()为右窗格上的VBox添加最小约束,但这是唯一的方法吗?

如何在Gtk中设置hpane中右窗格的最小和当前大小

好了,经过几次实验,我找到了第一个问题的解决方案。对于左窗格子窗格调用Pack1(widget, true, true),对于右窗格子窗格调用Pack2(widget, false, false)就足够了。

第二个问题的解决方案是使用window . setgeometryhints()为右窗格子窗格添加MinSize约束,但似乎窗口变得不可收缩。

如果有人知道正确的方法来解决第二个问题,你的帮助是非常感激的。