Qt 布局管理

在布局编辑环境里:

sizePolicy 影响控件在布局上的大小。

 

 

layout 的属性 如:如margin 设置控件在布局上边距。 有时候需要设置

下面是一个 代码布局的方式

#include "logindialog.h"
#include "ui_logindialog.h"
#include <QHBoxLayout>

LoginDialog::LoginDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::LoginDialog)
{
    ui->setupUi(this);

    QHBoxLayout * HLayout = new QHBoxLayout(this);
    HLayout->addStretch(2);  //添加占位符 占的比例是2
    HLayout->addWidget(ui->pushButton_2);
    HLayout->addStretch(1);
    HLayout->addWidget(ui->pushButton_3);
    HLayout->addStretch(1);
    HLayout->addWidget(ui->pushButton_4);
    HLayout->addStretch(2);

    HLayout->setStretchFactor(ui->pushButton_2,1);  //设置控件的比例
    HLayout->setStretchFactor(ui->pushButton_3,3);
    HLayout->setStretchFactor(ui->pushButton_4,1);
    ui->widget->setLayout(HLayout);   //将三个按钮的控件布局到 widget 上

    QGridLayout * overLayout = new QGridLayout(this);
    overLayout->addWidget(ui->widget);
    setLayout(overLayout);  // 将整个对画框进行布局
}

LoginDialog::~LoginDialog()
{
    delete ui;
}

 效果如下图

 

使用布局后 调整控件大小方法:

调整属性里面的:
minimumSize 最小大小,分height和width
maximumSize 最大大小,分height和width
锁定按钮的变化范围

 

垂直布局 分裂器垂直布局  水平类似

选中三个按钮 第一组我使用了垂直布局 调整布局框大小 按钮只有水平跟随变化,不能调整垂直长度。

第二组 使用分裂器垂直布局 水平垂直都可以跟随变化。

 

转载于:https://www.cnblogs.com/swing07/p/10571316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值