没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:龚雪|2013-12-05 15:02:27.000|阅读 4439 次
概述:NCReport是一款轻量级、快速、多平台、简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序。但是好多使用NCReport控件的朋友都不知道如何在Qt应用程序中使用,本文详细的来说明一下。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
NCReport是一款轻量级、快速、多平台、简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序。
但是好多使用NCReport控件的朋友都不知道如何在Qt应用程序中使用,本文详细的来说明一下。
一、添加NCReport库到应用程序中。
在项目应用程序中使用NCReport,需要先将报表控件集成到应用程序中去,下面有两种方式可以采用:
1、添加所有的静态资源到你的项目中,并用你的应用程序一起构建。在这种情况下,你不需要NCReport分享的库。打开你的.pro项目文件,并像testapp/testapp.pro做的添加全部的源包到项目中。
2、将NCReport作为分享的库使用。要在你的项目中将NCReport库像其他的库一样使用,你需要在你的项目文件中指定它们。
下面的项目示例中展示了一些必要的设置:
QT = xml sql gui core TEMPLATE = app CONFIG += warn_on \ qt \ thread \ release TARGET = MyApplication INCLUDEPATH = ../ncreport/includes HEADERS += ... SOURCES += ... win32 { LIBS += ../lib/ncreport2.lib } unix { LIBS += -lncreport -L../lib -L/usr/local/bin target.path = /usr/local/bin }
二、初始化NCReport类
本步骤中主要是说明如何初始化NCReport类。 首先需要添加includes.来包含模块类定义,可以使用下面的代码实现:
#include "ncreport.h" #include "ncreportoutput.h" #include "ncreportpreviewoutput.h" #include "ncreportpreviewwindow.h"
创建NCReport类。可以用下面的代码创建一个类似于另一个QObject基础类的报表类:
NCReport report = new NCReport();
如果之前已经创建了NCReport对象,并传递了一个参数,这时初始化报表就需要调用reset()方法:
report->reset(); //or report->reset(true);
NCReport::reset()函数将会删除所有的对象引用,并使得报表引擎可以再次运行报表。如果参数设置为true,那么报表参数、添加的数据源比如QStringLists、自定义项目都将会被删除。
三、设置报表源
报表源意思就是NCReport处理XML报表定义的方法。报表定义可能从文件打开,但是也可以从一个SQL数据库表导入,下面额示例就是提供了一个作为报表源的文件:
report->setReportFile( fileName );
上面的这段代码相当于下面的代码:
report->setReportSource( NCReportSource::File ); report->reportSource()->setFileName( fileName );
四、添加参数
使用addParameter方法可以添加参数到NCReport中,这个参数的ID是一个字符串,值是一个QVariant对象。
report->addParameter( "id", QVariant("value") );
上面的这段代码相当于下面的这段代码:
report->addParameter( "paramID", "Parameter value" );
五、运行报表
现在就可以运行报表为不同的输出。
将报表运行为打印:
report->runReportToPrinter();
将报表运行为PDF:
QString fileName("mypdffile.pdf"); report->runReportToPDF( fileName );
将报表运行为打印预览:
report->runReportToPreview();
如果你运行报表为预览,结果将会用一个NCReportPreviewOutput对象保存,报表引擎不会自动运行预览,在报表引擎成功实现之后,我们需要初始化一个NCReportPreviewWindow对象用于预览。但是在做之前需要检查,报表是否发生作为错误。
if ( !report->hasError() ) { NCReportPreviewWindow pv = new NCReportPreviewWindow(); * pv->setOutput( (NCReportPreviewOutput )report->output() ); * pv->setWindowModality( Qt::ApplicationModal ); pv->setAttribute( Qt::WA_DeleteOnClose ); pv->show(); } else { QMessageBox::warning( tr("Error"); }
使用NCReport::output()函数得到当前的输出:
六、错误处理
可以使用下面的函数来捕捉错误:
bool error = report->hasError(); QString errormsg = report->;lastErrorMsg();
七、删除报表对象
在报表运行操作之后,就可以删除报表对象了,当NCReport删除之后,所有的子对象也都将会被删除:
delete report;
>>>NCReport免费下载
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都控件在本文中,将介绍一个新集成演示,包括 DHTMLX Grid 和 Pivot,并将重点介绍DHTMLX的开发团队使用这些小部件创建 JavaScript 数据透视网格时使用的一些技术技巧。
解析PDF意味着从 PDF 文件中提取结构化或非结构化数据。由于 PDF 的结构复杂,因此这可能具有挑战性。在本文中,我们将学习如何使用 Aspose.PDF for Python 在 Python 中解析 PDF。在本指南结束时,您将能够使用 Python 从 PDF 文档中提取文本、表格和图像。
单元格边框是指在单元格或单元格区域周围添加的线条。它们可用于不同的目的,如分隔工作表中的部分、吸引读者注意重要的单元格或使工作表看起来更美观。本文将介绍如何使用 Spire.XLS for .NET 在 C# 中添加或删除 Excel 单元格边框。
Excel 中的切片器是一种简单易用的工具,可以帮助用户过滤数据,让数据分析变得更加直观,交互性更强。这篇文章将介绍如何使用 Spire.XLS for .NET 在 C# 中添加、修改和删除 Excel 切片器。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢