我真正想做的是告诉它在调用setVisible(true)或setVisible(false)时不要移动东西。我该怎么做?
使用 QSizePolicy::setRetainSizeWhenHidden
:
void QSizePolicy::setRetainSizeWhenHidden(bool retainSize)
设置布局在隐藏时是否应保留构件的大小。如果 retainSize 为 true,则不会通过隐藏小组件来更改布局。
换句话说:
QSizePolicy p = widget->sizePolicy();
p.setRetainSizeWhenHidden(true);
widget->setSizePolicy(p);