在这里跟大家简单的分享下比较基础的布局器的使用。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()
{
}
效果如下图所示:
【水平布局器】
【垂直布局器】
【栅格布局器】