Qt可视化大屏布局

科技大屏现在非常流行,这里分享一下某个项目的大屏布局(忘了源码是哪个博主的了)

展示

这个界面整体是垂直布局,分为两个部分,标题是一个部分,然后下面的整体是一个layout布局,为另外一部分。

layout布局水平方向分为左中右,比例:2:3:2,左边是垂直布局,两个模块,大小比例2:1,中间是1:2:1,右边是.3:1:2.都是以卡片的形式区分开,我们往里面填东西就行了,卡片是重写paintEvent画的。

布局代码

复制代码
    QVBoxLayout *layoutMain = new QVBoxLayout(this);//创建一个垂直布局(QVBoxLayout),并将其设置为当前窗口或小部件(this)的布局。
    layoutMain->setMargin(0);//设置主布局的外边距为0。
    layoutMain->setSpacing(0);//设置主布局中项之间的间距为0

    //左
    QVBoxLayout *layoutLeft = new QVBoxLayout();
    layoutLeft->setSpacing(10);//设置左侧布局中项之间的间距为10。
    layoutLeft->setMargin(0);//设置左侧布局的外边距为0。
    //在左侧布局中添加两个小部件,并为它们设置权重。这决定了它们在布局中的大小比例。
    layoutLeft->addWidget(new test(), 2);//
    layoutLeft->addWidget(new test(), 1);//

    //中
    QVBoxLayout *layoutCenter = new QVBoxLayout();
    layoutCenter->setSpacing(10);
    layoutCenter->setMargin(0);
    layoutCenter->addWidget(new test(), 1);
    layoutCenter->addWidget(m_pDynamicsEarth, 2);//给地球2/4的控件
    layoutCenter->addWidget(new test(), 1);
    //右
    QVBoxLayout *layoutRight = new QVBoxLayout();
    layoutRight->setSpacing(10);
    layoutRight->setMargin(0);
    layoutRight->addWidget(new test(), 3);
    layoutRight->addWidget(new test(), 1);
    layoutRight->addWidget(new test(), 2);

    //水平 分为3个部分
    QHBoxLayout *layoutContent = new QHBoxLayout();
    layoutContent->setMargin(10);
    layoutContent->setSpacing(40);
    layoutContent->addLayout(layoutLeft, 2);
    layoutContent->addLayout(layoutCenter, 3);
    layoutContent->addLayout(layoutRight, 2);

    //添加title
    layoutMain->addWidget(m_pTitle);//Title
    //添加layout
    layoutMain->addLayout(layoutContent, 1);

各位可以参考这个布局方式进行设计。

相关推荐
iCxhust几秒前
51单片机电力载波应用开发(七)广播通讯
c语言·开发语言·单片机·嵌入式硬件·51单片机
殷色玫瑰35 分钟前
C++ STL:stack、queue、priority_queue 与容器适配器详解
java·开发语言·数据结构·c++·算法·visualstudio
IT方大同1 小时前
java输入输出+方法
java·开发语言·python
滕州市燕猫虎计算机科技工作室个体工商户1 小时前
《Rust程序设计》学习笔记一
开发语言·rust·学习笔记·rust程序设计
Wang's Blog1 小时前
Java框架 SpringCloud 快速入门: 服务拆分之服务远程调用
java·开发语言·spring cloud
努力努力再努力wz1 小时前
【CUDA入门系列】CUDA编程实战:设备选择、显存管理、Kernel、Stream 与 Event 全流程梳理
开发语言·c++
杨丰玮4181 小时前
C语言核心语法
java·c语言·开发语言·学习方法
ttwuai1 小时前
Go开源后台管理系统推荐:README、源码和License应该怎么验
开发语言·golang·开源
Java后端的Ai之路1 小时前
Python 进阶探索30 - Python中的装饰器
开发语言·人工智能·python·文件处理·装饰器模式
沫璃染墨1 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构