报表控件NCReport教程:集成NCReport到Qt应用程序中

和自甴很熟 提交于 2020-04-09 19:50:05

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 );

全文http://www.evget.com/article/2013/12/5/20167.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!