当前位置: 首页 > article >正文

QT简单设计 网格布局 QT5.12.3环境 C++实现

根据设计实现布局。


代码:

widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->resize(400,400); // 设置页面大小

    QPushButton *b1 = new QPushButton;
    b1->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
    b1->setStyleSheet("background-color:yellow");

    QPushButton *b2 = new QPushButton;
    b2->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
    b2->setStyleSheet("background-color:orange");

    QPushButton *b3 = new QPushButton;
    b3->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
    b3->setStyleSheet("background-color:pink");

    QPushButton *b4 = new QPushButton;
    b4->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
    b4->setStyleSheet("background-color:lightgreen");

    QPushButton *b5 = new QPushButton;
    b5->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
    b5->setStyleSheet("background-color:darkgreen");

    QPushButton *b6 = new QPushButton;
    b6->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
    b6->setStyleSheet("background-color:blue");

    QGridLayout *layout = new QGridLayout(this); // 设置网格布局
    this->setLayout(layout); // 将布局添加到页面
    layout->addWidget(b1,0,0,2,2);
    layout->addWidget(b2,0,2,1,2);
    layout->addWidget(b3,2,0,1,2);
    layout->addWidget(b4,1,2,2,1);
    layout->addWidget(b5,1,3,3,1);
    layout->addWidget(b6,3,0,1,3);

    layout->setMargin(0); // 设置边距
    layout->setSpacing(0); // 设置各部件间距
}

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

输出:


http://www.kler.cn/a/405164.html

相关文章:

  • 【电路笔记 TMS320F28335DSP】时钟+看门狗+相关寄存器(功能模块使能、时钟频率配置、看门狗配置)
  • springboot整合hive
  • 算法.图论-习题全集(Updating)
  • 卫生间门选择单包套还是双包套好?
  • 如何快速将Excel数据导入到SQL Server数据库
  • 在k8s上部署Crunchy Postgres for Kubernetes
  • 【pytorch-04】:线性回归案例(手动构建)
  • mongoDB回顾笔记(一)
  • springboot嗨玩旅游网站
  • 11.21 深度学习-tensor常见操作
  • Project指针pointer 作业
  • 【日常经验】Mysql中的某个存储过程中如果有查数据,存数据和删除数据,会自动在一个事务中吗
  • AWTK VSCode 实时预览插件端口冲突的解决办法
  • ubuntu 之 安装mysql8
  • 如何用redis+lua来实现高并发限流,超时数据进行等待
  • 基于Java Springboot北京医疗企业固定资产管理系统
  • HTML5和CSS3新增特性
  • cocos creator 3.8 Node学习 3
  • 【spring】spring单例模式与锁对象作用域的分析
  • 【IOS】Undefined symbol: _OBJC_CLASS_$_PAGFile
  • Java通过calcite实时读取kafka中的数据
  • 学习threejs,通过SkinnedMesh来创建骨骼和蒙皮动画
  • WSL2 ubuntu配置redis
  • Simulink学习笔记【PID UG联动仿真】
  • 算法.图论-习题全集(Updating)
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View