我正在尝试在左右窗格之间创建带有可移动分隔符的应用程序窗口。 在左侧窗格中,我有一个ListView。在右侧窗格中,我有一个带有一些标签,条目等的VBox。 我添加了HPaned容器,将ListView添加到其左窗格,将VBox添加到其右窗格。 很简单。
问题就出现了:
当用户调整窗口大小时,我需要制作右窗格以保存其大小。虽然,似乎唯一受支持的行为是左窗格这样做。
我需要为右窗格设置一个最小宽度,这样如果用户尝试调整它的大小,它就不会太小,或者,首先出现问题,只需将窗口调整为较小的大小。我没有找到任何办法。实际上,我可以使用Window.SetGeometryHints()在右窗格中为VBox添加最小约束,但这是唯一的方法吗?当我调整窗口大小时,所有这些限制都会使窗口变得不稳定。
答案 0 :(得分:0)
好的,经过一些实验,我找到了第一个问题的解决方案。 为左窗格子项调用Pack1(widget,true,true)就足够了,为右窗格子项调用Pack2(widget,false,false)。
第二个问题的解决方案是使用Window.SetGeometryHints()为右窗格子项添加MinSize约束,但似乎窗口变为用户不可收缩的内容。
如果有人知道解决第二个问题的正确方法,我们非常感谢您的帮助。