案例分享:数字化智能制造工艺报告生成工具Demo(当前v1.0.1)
2026/7/29 14:34:35 网站建设 项目流程

若该文为原创文章,转载请注明出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/163271263

长沙红胖子Qt·西安(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

合作案例专栏:案例分享(体验Demo可下载,只定制)


需求

工艺通用模板展示文件、报告和相关模板导出pdf
1.封面:左上序号,右上版本,文件名称,公司名称,公司logo,零件编号,零件名称。
2.首页表头:机器型号、指令编号、指令版次、有效性、阶段标识
3.首页内容:FO任务卡控制,换版说明,所需图样,所需技术文件
4.其他页继续开发中
5.设计采用接口的形式(当前使用txt),
6.展示可2和3支持无限行数据,翻页,空格行,调整位置等等。
7.可加载不同数据的txt直接生成pdf,并应用中展示和调用本地pdf打开,方便测试与生成。
8.后续可添加表格,图像,三维图等等,此模块作为长期报告和展示模块会持续开发。
9.不依赖系统和第三方插件,支持windows,linux和arm,只依赖qt本身,方便后续迭代和移植兼容。


Demo_v1.0.1


数据文件:

下载

windows 运行包下载地址 CSDNf粉丝0积分下载:https://download.csdn.net/download/qq21497936/93194100
QQ技术群,进Q群,点击“文件”搜索“displayProcess”,群内与博文同步更新)


模块化


Demo部分源码

调用代码

// 生成报告_listImage=DisplayProcessManager::getInstance()->createDisplayProcessImages();if(_listImage.size()>0){_currentPage=0;ui->widget_image->setImage(_listImage.at(_currentPage));// 打印打pdfQString filePath=PrinterManager::getInstance()->printToPdf(_listImage);ui->lineEdit_pdfFilePath->setText(filePath);}else{_currentPage=0;}

DisplayProcessManager.h

#ifndefDISPLAYPROCESSMANAGER#defineDISPLAYPROCESSMANAGER#include<QObject>#include<QMutex>#include<QMutexLocker>#include<QPrinterInfo>#include<QImage>#include<QPainter>#include<QFontMetrics>#include"displayProcessCommon.h"classDisplayProcessManager:publicQObject{Q_OBJECTprivate:explicitDisplayProcessManager(QObject*parent=0);public:staticDisplayProcessManager*getInstance();public:QList<QImage>createDisplayProcessImages();...protected:QSizegetA4Size();QImagecreateShouYe();// 创建首页QList<QImage>createFoRenWuKaKongZhi();// 创建FO卡任务控制(FO任务卡控制+换版说明+所需图样+所需技术文件)QList<QImage>createGongZuoShuoMing();// 创建工作说明(工作说明+原材料控制+设备汇总+工量具汇总+工装汇总)protected:voidsaveCurrentImage(QImage image);// 存储当前图片protected:voiddrawContentPageTemplate(QPainter*painter);// 第二页开始的页模板(不含页码)protected:// 通用使用函数(固定位置)voiddrawBorder(QPainter*painter);// 绘制边框voiddrawZHFO(QPainter*painter);// 绘制ZHFOvoiddrawJiXing(QPainter*painter);// 绘制机型voiddrawFoXuLieHao(QPainter*painter);// 绘制FO系列号voiddrawHeaderInfo(QPainter*painter);// 绘制表头信息voiddrawFooterInfo(QPainter*painter);// 绘制页脚信息(不含页码)voiddrawPageNum(QPainter*painter,intcurrentNum,inttotalNum);// 绘制页码(因为动态最后单独刷一次)protected:// 仅“首页”使用函数(固定位置)voiddrawBanCi(QPainter*painter);// 绘制版次voiddrawInnerBorder(QPainter*painter);// 绘制边框voiddrawFileTitle(QPainter*painter);// 绘制文件标题voiddrawCompanyName(QPainter*painter);// 绘制公司名称voiddrawLogoImage(QPainter*painter);// 绘制logovoiddrawLingJianHao(QPainter*painter);// 绘制零件号voiddrawLingJianMingCheng(QPainter*painter);// 绘制零件名称protected:// 可能导致分页,具体内容QList<QImage>drawFoRenWuKaKongZhiTable(inty,intwidth,intheight);// 绘制“FO任务卡控制”表QList<QImage>drawHuanBanShuoMingTable(inty,intwidth,intheight);// 绘制“换版说明”表QList<QImage>drawSuoXuTuYangTable(inty,intwidth,intheight);// 绘制“所需图样”表QList<QImage>drawSuoXuJiShuWenJianTable(inty,intwidth,intheight);// 绘制“所需技术文件”表QList<QImage>drawGongZuoShuoMingTable(inty,intwidth,intheight);// 绘制“工作说明"表QList<QImage>drawYuanCaiLiaoKongZhiTable(inty,intwidth,intheight);// 绘制“原材料控制”表QList<QImage>drawSheBeiHuiZongTable(inty,intwidth,intheight);// 绘制“设备汇总”表QList<QImage>drawGongLiangJuHuiZongTable(inty,intwidth,intheight);// 绘制“工量具汇总”表QList<QImage>drawGongZhuangHuiZongTable(inty,intwidth,intheight);// 绘制“工装汇总”表...private:staticDisplayProcessManager*_pInstance;staticQMutex _mutex;...};#endif// DISPLAYPROCESSMANAGER

工程模板v1.0.1


本文章博客地址:https://hpzwl.blog.csdn.net/article/details/163271263

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询