Qt::TestQLayout操作
前言:
1、本文操作均为在vs2015+QT5.9.5版本中执行
2、本文操作是基于Qt窗口进行使用
主函数:main.cpp
#include <QtCore/QCoreApplication>
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QDebug>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//创建一个窗口
QWidget *win = new QWidget;
//设置窗口大小
win->resize(400, 400);
//垂直布局创建
//垂直布局
QVBoxLayout *lay = new QVBoxLayout;
//水平布局
//QHBoxLayout *lay = new QHBoxLayout;
//设置布局样式
win->setLayout(lay);
//设置QVBoxLayout按钮边框距离
lay->setContentsMargins(0, 0, 0, 0);
//添加QPushButton按键
QPushButton *but1 = new QPushButton("button1");
//添加QPushButton到布局器中
lay->addWidget(but1);
//设置间距
//lay->setSpacing(50);
//设置水平和垂直的策略
//设置为推荐大小
but1->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
//尽量缩放,最小尺寸是推荐值
but1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
//尽量缩放,最小尺寸无视推荐值(如果是水平策略会扩大高度到最高)
but1->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
//设置最大、最小尺寸,不受上面策略影响
//最小尺寸
//but1->setMinimumSize(200, 200);
//最大尺寸
//but1->setMaximumSize(500, 500);
QPushButton *but2 = new QPushButton("button2");
lay->addWidget(but2);
QPushButton *but3 = new QPushButton("button3");
lay->addWidget(but3);
//显示窗口
win->show();
//打印QPushButton *but1的推荐宽和高
qDebug() << qUtf8Printable(QString::fromLocal8Bit("宽:")) << but1->sizeHint().width()
<< " " << qUtf8Printable(QString::fromLocal8Bit("高:")) << but1->sizeHint().height();
//打印QPushButton *but1的宽和高
qDebug() << qUtf8Printable(QString::fromLocal8Bit("宽:")) << but1->width()
<< " " << qUtf8Printable(QString::fromLocal8Bit("高:")) << but1->height();
return a.exec();
}