Qt:如何设置QVBox布局的最大宽度
Qt: How to set the maximum width of a QVBoxlayout
我目前有一个水平布局,其中有两个垂直布局。Vlayout1
和VLayout2
。现在我想设置VLayout1
的最大宽度限制,这样,如果在那之后展开表单,则只有Vlayout1
展开
关于我如何做到这一点,有什么建议吗?
您可以执行;破解";并将您的布局放在一个小部件内,您可以为其定义最大宽度:
QWidget *controlsRestrictorWidget = new QWidget();
QVBoxLayout *layoutVControls = new QVBoxLayout();
controlsRestrictorWidget->setLayout(layoutVControls);
controlsRestrictorWidget->setMaximumWidth(350);
它的工作原理是:)
您不能设置QVBoxLayout
的最大大小。您可能需要设置布局中包含的小部件的最大大小。如果你想让其中一个布局拉伸,而另一个保持不变,你可以在主窗口构造函数中尝试以下操作:
QPushButton* btn1 = new QPushButton("Button1");
QPushButton* btn2 = new QPushButton("Button2");
QHBoxLayout* hLayout = new QHBoxLayout;
QVBoxLayout* vLayout1 = new QVBoxLayout;
QVBoxLayout* vLayout2 = new QVBoxLayout;
hLayout->addLayout(vLayout1, 1);
hLayout->addLayout(vLayout2, 0);
vLayout1->addWidget(btn1);
vLayout2->addWidget(btn2);
QWidget* placeholder = new QWidget;
placeholder->setLayout(hLayout);
setCentralWidget(placeholder);
如果现在调整窗口的大小,您将看到包含Button2
拉伸的布局,而包含Button1
的布局保持不变。
相关文章:
- 如何使用C/C++在MacOSX中获得键盘布局
- Vulkan验证层不断在VkQueuePresentKHR()上抛出图像布局错误
- 布局兼容类型的并集
- Qt自定义QPush按钮未显示在布局上
- 按钮悬停在 QT 中垂直布局的选项卡小部件中不起作用
- 调整布局上的 QGraphicsView 小部件的大小
- 如何在qt中将对象添加到现有布局中?--已解决
- 将布局映射到内存地址
- C++继承的虚拟类的内存布局
- 检查nullptr是否100%保护内存布局不受segfault影响
- C++ Python 的扩展 - 安全内存访问和内存布局
- QTree查看新行,没有布局就不可见已更改
- 类似元组的类模板的反向内存布局
- C++对象布局是否必须静态定义?
- 集合布局上的 Qt 分割错误
- QT将图像从缩略图拖放到网格布局(QVTKOpenGLWidget)?
- 更正GLSL无绑定纹理句柄中的结构布局
- 从矢量和 QVBox布局中删除
- Qt QVBox布局:如何在固定高度的框中划分布局
- Qt:如何设置QVBox布局的最大宽度