FastReport是一款优秀的报表控件,由俄罗斯开发,国内有代理商。Qt环境下可实现报表功能的还有一款叫NCReport,也是收费控件,比较来比较去还是觉得前者功能强点。
网上讲解此控件在Qt中使用的文章比较少,故在此做下记录:

概述:

1. FastReport版本有VCL, .NET, COM/ActiveX, Mono等等,其中Qt下使用只能使用COM/ActiveX版本。
2. 网上破解版有3.2,4.5和最新的4.9(2014年),3.2这个版本貌似功能不全,Qt下老报错;4.9版本可以正常使用。
3. 安装FastReport Studio后就可以在Qt中使用QAxObject对象访问此COM对象了。如果部署机器没有FastReport,需要照
FastReport文档中Deploy一节部署,包括拷贝需要dll和语言文件,regsvr32注册,修改注册表中语言配置等步骤。
4. 根据FastReport官方文档显示,国内授权的经销商有3家,其中一家的官网还打不开,如果购买主要可以考虑重庆慧聪空间网,

根据授权类别,价格从几千到数万不等。
5. 官方文档没有指出初始化控件需要提供的参数。根据Qt文档中指出,使用Guid{4764040e-4222-4dec-9f2e-82d46e212b3a}初始

化COM最快,其次是使用COM名称FastReport.TfrxReport。

功能说明:
1. 报表中主要使用两类对象,一个是band,一个是text object。band作用即把打印内容按逻辑分类;text用于显示文字。
2. 使用中括号[]括起来的标示变量,工具栏中有个fx图样按钮可以打开变量编辑框。
3. COM对象的接口,方法,属性等信息可以使用Qt自带的dumpdoc工具生成。
4. hello world代码举例:

 QAxObject object("{4764040e-4222-4dec-9f2e-82d46e212b3a}", this);

 object.dynamicCall("LoadReportFromFile(QString)", "test.fr3");
QVariantList params ;
params<<"my_var"<<"";
object.dynamicCall("SetVariable(QString, QString)", params);
object.dynamicCall("ShowReport()");

备注:上面代码中my_var是报表设计器中指定的报表变量,此示例代码先初始化FastReport COM控件对象,然后加载使用报表设计

器设计的一个报表test.fr3, 然后使用Qt代码从Qt给报表传输值,最后显示报表内容。经测试,给变量my_var赋值123报表可正常
显示,如果换成纯英文字母就报错了,提示Expression找不到,暂时不清楚原因,稍后解决。

Qt开发环境中使用报表控件FastReport遇到的一些问题(一)的更多相关文章

  1. Qt开发环境中使用报表控件FastReport遇到的一些问题(二)

    上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<& ...

  2. VS2015中使用报表控件(ReportViewer)的方法

    没有报表,一般默认安装之后会出现这种情况,在安装的时候选择自定义安装,把Microsoft Office 开发人员工具.Microsoft SQL Server Data Tools勾选上,安装之后就 ...

  3. ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

    本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...

  4. ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

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

    NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 但是好多使用NCReport控件的朋友都不 ...

  6. Qt报表控件NCReport教程:添加报表字段

    NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 在前面的文章<报表控件NCRepor ...

  7. Qt报表控件NCReport教程:报表创建示例

    NCReport是 一款10多年时间的老牌报表控件,最初是在2002年时作为qt3的应用程序的一个联合项目,后来就成为了一个独立的GPL项目.现在的NCReport 是一款轻量级.快速.多平台.简单易 ...

  8. 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件

    Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...

  9. 在Qt中使用ActiveX控件

    Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QA ...

随机推荐

  1. filebeat 多行日志的处理

    配置文件位于/etc/filebeat/filebeat.yml,就是filebeat的主配置文件 打开文件,搜索multiline:,默认是注释的,常用的有如下三个配置: multiline: pa ...

  2. 下载SRA文件

    sratoolkit.2.6.2-centos_linux64/bin/prefetch  下载SRA文件 fastq-dump    --split-3    SRR2923014.sra    转 ...

  3. lua table remove元素的问题

    当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtes ...

  4. Reapter合并行

    html文件: <asp:Repeater ID="rptEmployee" runat="server"> <HeaderTemplate& ...

  5. C++ 不能在类体外指定关键字static

    C++ static 函数的问题 近日读 C++ primer 中static 一章 , 有这么一句话, “静态成员函数的声明除了在类体中的函数声明前加上关键字static 以及不能声明为const  ...

  6. 将回车键转tab键

    //功能:将回车键转tab键$(function () {$('input:text:first').focus();var $enter = $("input[type=text],but ...

  7. Node.js在不同平台的安装方法步骤详解

    Mac平台下搭建node.js开发平台 安装方式 1 步骤: 下载mac版的.pkg文件(简单直接和Windows差不多) 安装方式 2 步骤: 安装xcode(命令:xcode-select --i ...

  8. zabbix3.0.4 部署之二 (Centos6.5系统准备)

    1.安装Centos6.5  2.6.32-642.4.2.el6.x86_64 升级所有软件至最新: yum update 2.同步时间.安装ntpd yum  install ntpddate n ...

  9. CentOS PPTP配置FreeRADIUS+DaloRADIUS实现高级用户控制+流量控制

    前提条件 阅读本文前,您需要搭建好PPTP,如果仍未搭建,可以参考:http://www.xj123.info/2301.html 如果您需要配置DaloRADIUS,那么您还需要安装LAMP,可以参 ...

  10. 6/14 Sprint2 看板和燃尽图

    中间部分还需要改进 小组评分:(团队总分为80) 团队成员:        101丘娟同学:21        107杨晓霞同学:18        108周诗琦同学:22        124陈程同 ...