QT自定义控件之内嵌报表(二)

QT自定义控件之内嵌报表(二)

一、作品展示

这期作品依然是一号演员:Qpainter画出来的,然后制作的还是咱们的报表,先来看下整体的效果:

PixPin_2026-07-30_21-05-42

二、软件介绍

1、首先还是需要借助我们的各大助理上来助攻下背景图片,得到如下图片:

 

image

2、画出想要的配置

通过QPainter来定位我们想要的位置,放置相关的随机参数,就可以让数据自由的动起来,这种内嵌报表,后期还可以尝试配图加上图表的效果应该会更好点。毕竟所有的数据都会在我们的软件数据库中,有时候,特别是与硬件交互时,采集到的数据目前大部分是最后导出到txt,wps的形式,或者有甚者会变成二进制保存。但是当我们上位机是分析软件时,这个时候客户可能需要预览的功能,需要我们去把这个数据结果处理给他们看下,这个时候就需要我们使用QPainter来画报表来观看。

3、部分code展示:

void MainWindow::SlotTimer()
{int randomNum = QRandomGenerator::global()->bounded(101);QString num = QString("样品试剂_%1").arg(QString::number(randomNum,10));QString person = QString("操作员_%1").arg(QString::number(randomNum,10));QString company =  QString("单位_%1").arg(QString::number(randomNum,10));QString shap =  QString("形态_%1").arg(QString::number(randomNum,10));QString temp = QString::number(randomNum-3,10);QString humidity = QString::number(randomNum+3,10);ui->widget->Set_TextChangeEvent(0,num);ui->widget->Set_TextChangeEvent(1,person);ui->widget->Set_TextChangeEvent(2,shap);ui->widget->Set_TextChangeEvent(3,company);ui->widget->Set_TextChangeEvent(4,temp);ui->widget->Set_TextChangeEvent(5,humidity);for(int i = 6 ; i < 50; i++){ui->widget->Set_TextChangeEvent(i, QString::number(randomNum*i,10));}
} 

image

 

四、源码分享

如果大家对整体效果感兴趣,可以去某站,查看完整流程

同时这期的源码会在V中分享,详情可见某站:(欢迎大家来某站点赞关注加评论,谢谢~)

https://www.bilibili.com/video/BV1Mz3b6bEMA/?spm_id_from=333.337.search-card.all.click&vd_source=e822b5817b802c4219f4d57b4a51ca52