在一个简单的形式,我做了几个按钮,并采用水平布局.当鼠标离开该区域时,应该隐藏其中一个按钮,最后一个按钮.使用button-> hide()它可以工作,但所有按钮都由布局管理器重新排列.我想要的是所有其他按钮继续在他们的位置.我尝试用小部件占位符替换小部件并交换按钮和占位符hide()/ show(),调用占位符 - >调整大小(button-> size()),但布局管理器不尊重调整大小和占位符的最小大小.删除小部件并保留其空间的最佳方法是什么?
Tho*_*sum 24
在Qt 5.2中,可以执行以下操作:
QSizePolicy sp_retain = widget->sizePolicy();
sp_retain.setRetainSizeWhenHidden(true);
widget->setSizePolicy(sp_retain);
Run Code Online (Sandbox Code Playgroud)
我之前在这里发布了相同的解决方案
如何在不改变其他Qt小部件的位置的情况下使Qt小部件不可见?
(这似乎是这个问题的重复).
小智 6
尝试将您的窗口小部件嵌入到具有2个页面的QStackWidget中:*您的窗口小部件在一个页面上*另一个空页面
如果要隐藏窗口小部件,请将当前qstackwidget页面设置为空白页面.并将其设置回主页以显示您的小部件.
归档时间: |
|
查看次数: |
15018 次 |
最近记录: |