如何防止QSplitter完全隐藏子窗口小部件?

时间:2017-01-07 11:24:44

标签: c++ qt qsplitter

我有一个水平QSplitter,有两个子QWidget个对象。现在,当用户将分割器手柄向右拖动超过某个阈值(我认为,这取决于孩子的最小尺寸)时,右QWidget会快速消失。 setSizePolicysetMinimumSize没有帮助。

此外,hideEvent未被触发,我甚至无法检测到我的小部件何时被隐藏。我尝试使用resizeEvent,但它的旧和新宽度参数似乎都有未记录的奇怪值 - 有时它是0,有时是-1。即使有一个系统,它也可以随着下一个Qt版本而改变。

理想情况下,我想完全消除这种消失的行为。作为妥协,我将很感激如何检测它。

1 个答案:

答案 0 :(得分:1)

如果您想阻止某个widget崩溃,那么您需要......

int index = my_splitter.indexOf(widget);
my_splitter.setCollapsible(index, false);

文档为here