Qt下布局器的使用(QHBoxLayout 、 QVBoxLayout、 QGridLayout)

    在这里跟大家简单的分享下比较基础的布局器的使用。Qt下常用的布局器为三种,水平布局器(QHBoxLayout)、垂直布局器(QVBoxLayout)和栅格布局器(QGridLayout)这三种。单个布局器的简单使用如下:

#ifndef USINGLAYOUT_H
#define USINGLAYOUT_H

#include <QWidget>
#include"QLayout"
#include"QHBoxLayout"
#include"QVBoxLayout"
#include"QGridLayout"

#include"QPushButton"
#include"QLabel"

class UsingLayout : public QWidget
{
    Q_OBJECT

public:
    UsingLayout(QWidget *parent = 0);
    ~UsingLayout();

public:
    QPushButton* btn1;
    QPushButton* btn2;
    QPushButton* btn3;
    QPushButton* btn4;
};

#endif // USINGLAYOUT_H

#include "usinglayout.h"
#include"QString"
UsingLayout::UsingLayout(QWidget *parent)
    : QWidget(parent)
{
    btn1 = new QPushButton(this);
    btn2 = new QPushButton(this);
    btn3 = new QPushButton(this);
    btn4 = new QPushButton(this);

#if 0
    //使用QHBoxLayout==》水平布局器
    QHBoxLayout* hlayout = new QHBoxLayout(this);
    hlayout->addWidget(btn1);
    hlayout->addWidget(btn2);
    hlayout->addWidget(btn3);
    hlayout->addWidget(btn4);
    this->setLayout(hlayout);
    this->show();

#endif

#if 0
    //使用QVBoxLayout==》垂直布局器
    QVBoxLayout* vlayout = new QVBoxLayout(this);
    vlayout->addWidget(btn1);
    vlayout->addWidget(btn2);
    vlayout->addWidget(btn3);
    vlayout->addWidget(btn4);
    this->setLayout(vlayout);
    this->show();
#endif

#if 1
    //使用QGridLayout==》栅格布局器
    QGridLayout* glayout = new QGridLayout(this);
    glayout->addWidget(btn1);//默认是在(0,0)
    glayout->addWidget(btn2,0,1);
    glayout->addWidget(btn3,0,2);
    glayout->addWidget(btn4,1,0);
    this->setLayout(glayout);
    this->show();
#endif

}

UsingLayout::~UsingLayout()
{

}


效果如下图所示:

【水平布局器】

【垂直布局器】

【栅格布局器】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

键盘会跳舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值