Qt开发环境中使用报表控件FastReport遇到的一些问题(一)
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遇到的一些问题(一)的更多相关文章
- Qt开发环境中使用报表控件FastReport遇到的一些问题(二)
上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<& ...
- VS2015中使用报表控件(ReportViewer)的方法
没有报表,一般默认安装之后会出现这种情况,在安装的时候选择自定义安装,把Microsoft Office 开发人员工具.Microsoft SQL Server Data Tools勾选上,安装之后就 ...
- ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...
- ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- 报表控件NCReport教程:集成NCReport到Qt应用程序中
NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 但是好多使用NCReport控件的朋友都不 ...
- Qt报表控件NCReport教程:添加报表字段
NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 在前面的文章<报表控件NCRepor ...
- Qt报表控件NCReport教程:报表创建示例
NCReport是 一款10多年时间的老牌报表控件,最初是在2002年时作为qt3的应用程序的一个联合项目,后来就成为了一个独立的GPL项目.现在的NCReport 是一款轻量级.快速.多平台.简单易 ...
- 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件
Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...
- 在Qt中使用ActiveX控件
Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QA ...
随机推荐
- 深入理解C++的动态绑定和静态绑定【转】
转自:http://blog.csdn.net/chgaowei/article/details/6427731 为了支持c++的多态性,才用了动态绑定和静态绑定.理解他们的区别有助于更好的理解多态性 ...
- Windows7开通Internet信息服务
我要开通Windows的Internet Information Service(也就是Internet信息服务,简称IIS),当本地服务器用,因为要在里面安装页面项目. 我参考了这篇文章的 ...
- Python数据分析之pandas学习
Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...
- [问题2014A07] 复旦高等代数 I(14级)每周一题(第九教学周)
[问题2014A07] 设 \(A\) 是有理数域 \(\mathbb{Q}\) 上的 4 阶方阵, \(\alpha_1,\alpha_2,\alpha_3,\alpha_4\) 是 \(\mat ...
- sql2008 表名为全数字时查询报错
今天遇到个很奇葩的问题,在写一个应用程序时需要查询表的数据,但是表名是全数字的,直接查询会报错,于是想到给111的表名加一对中括号:即——>select * from [111] 刚开始还是报错 ...
- PHP匿名函数的使用
$dealer = array(); array_walk($dealer_id_arr,function($value) use(&$dealer) { $dealer[] = get_co ...
- 深入浅出设计模式——访问者模式(Visitor Pattern)
模式动机 对于系统中的某些对象,它们存储在同一个集合中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同,访问者模式为解决这类问题而诞生 ...
- linux 知识汇总
1 ) linux下文件系统类型的学习 2 )深入理解linux i节点(inode) 3 )RAID系列
- Windows 域(domain)
http://baike.baidu.com/view/1512519.htm http://baike.baidu.com/view/1218493.htm http://www.jb51.net/ ...
- CAD字体显示问号的解决办法
CAD字体显示问号的解决办法1.选中问号的文字,ctrl+1查看下文字样式,以standard为例.2.运行st命令,设置standard样式的字体名为windows自带的ttf字体,例如宋体或者仿宋 ...