【问题标题】:How do I prevent QSplitter from hiding child widgets completely?如何防止 QSplitter 完全隐藏子小部件?
【发布时间】:2017-01-07 11:24:44
【问题描述】:

我有一个水平的QSplitter 和两个孩子QWidget 对象。现在,当用户将拆分器手柄向右拖动超过某个阈值(我假设这取决于孩子的最小尺寸)时,右侧的 QWidget 会立即消失。 setSizePolicy, setMinimumSize 不帮忙。

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

理想情况下,我想完全关闭这种消失的行为。作为一种折衷方案,我将不胜感激如何检测它。

【问题讨论】:

    标签: c++ qt qsplitter


    【解决方案1】:

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

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

    文档是here

    【讨论】:

    • 哈!你是对的——他们称之为“崩溃”,而不是“隐藏”。解决了我目前的问题,谢谢。出于好奇:有没有办法在这种崩溃事件发生后检测到它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多