7.2、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();
}

效果图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柳一航

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

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

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

打赏作者

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

抵扣说明:

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

余额充值