c++ - 在 Qt 中,在使用 hide() 或 setVisible(false) 时,如何阻止子网格布局尝试将所有内容居中?

标签 c++ qt user-interface

我真正想做的是告诉它在调用 setVisible(true) 或 setVisible(false) 时不要移动东西。我该怎么做?

最佳答案

使用QSizePolicy::setRetainSizeWhenHidden :

void QSizePolicy::setRetainSizeWhenHidden(bool retainSize)

Sets whether a layout should retain the widget's size when it is hidden. If retainSize is true, the layout will not be changed by hiding the widget.

换句话说:

QSizePolicy p = widget->sizePolicy();
p.setRetainSizeWhenHidden(true);
widget->setSizePolicy(p);

关于c++ - 在 Qt 中,在使用 hide() 或 setVisible(false) 时,如何阻止子网格布局尝试将所有内容居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38424238/

相关文章:

java - Swing GUI 消失了

python - 如何为视频播放器选择文件

c++ - QTest::qExec 隐藏 "passed"消息

qt - 如何在 Qt 项目中包含 OpenSSL

c++ - QT 小部件插槽调用未被单独的线程信号激活

ios - UITableView UITableViewCellAccessoryDisclosureIndicator 标签

c++ - 对使用多个内存池的类使用工厂是否合适?有更好的模式/技术吗?

.net - 我想弹出我自己的对话框(在服务器上保存文件而不询问目标路径位置)而不是 adobe 的另存为对话框

c++ - 在 while 循环中嵌套 while 循环和在 while 循环中嵌套 if-else 循环有什么显着区别吗? (C++)

c++ - POCO 库 : possible to set UDP Source port?