我有一个QDialog与QVBoxLayout控制其高度。

这个主要的QVBoxLayout包含一个或多个QVBoxLayout子级,然后是其他一些小部件。当我添加其他QVBoxLayout子级(和/或下部小部件)时,对话框将扩展以容纳它们-正如您所期望的和我想要的。

但是,当我从父QVBoxLayout删除QVBoxLayout子级时,对话框的大小不会减小,其大小等于所删除的QVBoxLayout的大小-对话框大小保持不变,但空白区域很大。

如何在QVBoxLayout / QDialog中实现正确的动态行为,以便在从QVBoxLayout中删除子组件时正确调整对话框的大小?

最佳答案

确保调用mainLayoutPtr->setSizeConstraint(QLayout::SetFixedSize)(这也将使对话框无法按用户调整大小,但是在隐藏/显示窗口小部件时将能够正确调整其大小)

关于c++ - 删除子布局时,如何使QVBoxLayout收缩QDialog?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17025356/

10-13 01:12