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. Unity碰撞器触发关系测试

    本文刚体有关的内容不再赘述,主要测试碰撞器和触发器的消息关系. 刚体在这篇有测试:U3D刚体测试1-刚体非刚体物体非Kinematic等之间的碰撞关系 碰撞器测试结果: 1.A对象为Collider, ...

  2. 【转】【C/C++】实现memcpy函数

    本文转自:http://my.oschina.net/renhc/blog/36345 面试中如问到memcpy的实现,那就要小心了,这里有陷阱. 先看下标准memcpy()的解释: ? 1 2 vo ...

  3. 制作web字体:CSS3 @font-face

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,另外@font- ...

  4. Eclipse开发过程中个VM Arguments的设置

    Eclipse开发过程中个VM Arguments的设置 1:jre中的Default VM Arguments: -Xms256M -Xmx640M -XX:PermSize=256m -XX:Ma ...

  5. centos6.6编译安装lnmp系列之mysql

    简介: 环境:虚拟机+centos6.6 Mysql版本:5.6.21 Mysql下载地址:http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.21.t ...

  6. Linux下内存占用和CPU占用的计算

    ->使用free命令查看内存使用情况: 1.echo 3 > /proc/sys/vm/drop_caches 2.free 或者使用cat /proc/yourpid/status 来查 ...

  7. openurl 跳转

    1.拨打电话: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://68979"]]; ...

  8. Flex 学习笔记 ComboBox内容框宽度

    如何设置ComboBox下拉选项框的宽度呢 左边下拉框发现字符太长了   属性里也找不到相关宽度可以设置,解决如下 <!--添加open事件 打开下拉选项框时设置--> <s:Com ...

  9. Mac 在命令行中获得Root权限

    Mac 在命令行中获得Root权限 作者 firedragonpzy 13 九月, 2012 2条评论 本文为firedragonpzy原创,转载务必在明显处注明:转载自[Softeware MyZo ...

  10. 横向滑动的HorizontalListView滑动指定位置的解决方法

    项目中用到了自定义横向滑动的控件:HorizontalListView,点击其中一项,跳转到另外一个大图界面,大图界面也是HorizontalListView,想使用setSelection方法设定 ...