QT报表开发(limereport + QAbstractTableModel)

一、简介

limereport是俄罗斯人QT开发的报表设计器,功能很强大,简单容易上手。网上有编译和读取数据库的教程,在此我不累述,本文主要介绍通过Qt的tablemode加载数据。

二、主要代码

1)重新了QAbstractTableModel通过,数据封装在结构体里。

    AlarmQueryModel *m_pModelAlarmQuery = new AlarmQueryModel();
    QList<Stu_Alarm_Info> listInfo;
    Stu_Alarm_Info STUINFO;
    STUINFO.iTotalPage = 1;
    STUINFO.strAlarmid = "strAlarmid ";
    STUINFO.strEcscode = "strEcscode ";
    STUINFO.strDevid = "strDevid ";
    STUINFO.strAlarmCode = "strAlarmCode ";
    STUINFO.strAlarmtype = "strAlarmtype ";
    STUINFO.strAlarmgrade = "strAlarmgrade ";
    STUINFO.strAlarmDate = "strAlarmDate ";
    STUINFO.strAlarmDesc = "strAlarmDesc ";

     listInfo.insert(0 ,STUINFO );
     listInfo.insert(1 ,STUINFO1 );
     listInfo.insert(2 ,STUINFO );
     listInfo.insert(3 ,STUINFO );

    m_pModelAlarmQuery->setModelData(listInfo);

2)向LimeReport添加tablemodel

    report = new LimeReport::ReportEngine(this);  //to create reportengine
    report->dataManager()->addModel("周报",m_pModelAlarmQuery,false);
    report->dataManager()->addModel( "月报",m_pModelAlarmQuery,false);
    report->dataManager()->addModel("年报",m_pModelAlarmQuery,false);
    report->dataManager()->addModel("m_pModelAlarmQuery",m_pModelAlarmQuery,false);  //to add datasource to report engine
    report->loadFromFile("D:\\1.lrxml");  //to load report template file

报表设计其中就会显示添加的model了

3)设计报表

选择数据块,并向DataBand中放入model参数,

 

 预览后发现只有一条数据

 选中DataBand,修改数据源,再预览即可展示你写入model的数据了

 

 代码如下https://download.youkuaiyun.com/download/qq_22000089/87006486

 

<think>好的,我需要帮助用户了解如何在NCReport模板中插入图片。首先,我需要确认用户提到的NCReport是什么。根据提供的参考引用,用户提到了LimeReport,这是一个使用Qt框架的C++报表生成器库,但用户现在询问的是NCReport,这可能是一个不同的工具。不过,参考资料中没有关于NCReport的具体信息,所以可能需要基于一般报表生成器的常见方法进行回答,或者指出参考资料中没有相关信息。 接下来,用户需要具体的步骤教程。通常,在报表模板中插入图片的方法可能涉及以下步骤:使用设计器工具添加图片控件、设置图片源路径或绑定数据字段、调整属性等。但由于缺乏NCReport的具体文档,可能需要假设其操作类似于其他报表工具,比如LimeReport或者类似库的使用方法。 考虑到用户可能误将NCReport和LimeReport混淆,或者参考资料中的LimeReport是用户实际使用的工具,但用户提问时写错了名称。这种情况下,可能需要根据LimeReport的方法来回答,并在回答中说明这一点,避免误导用户。 另外,需要检查是否在提供的参考资料中有关于插入图片的信息。在提供的LimeReport描述中,提到可以使用模板生成报表,支持数据源包括SQL数据库QAbstractTableModel,但未明确提到图片插入。因此,可能需要基于一般Qt报表生成器的知识来推测如何插入图片,比如使用图片控件或通过代码动态加载图片。 最后,生成相关问题,帮助用户进一步了解报表生成中的其他常见操作,比如数据绑定、参数使用等。</think>在报表模板中插入图片通常需要以下步骤(以类似LimeReport的操作为参考): 1. **打开设计器工具** - 启动NCReport设计器,新建或打开现有报表模板 2. **添加图片控件** ```xml <!-- 示例XML模板片段 --> <item type="image" name="logo"> <geometry x="20" y="10" width="50" height="30"/> <property name="source" value=":/images/company_logo.png"/> </item> ``` 3. **配置数据绑定** - 支持静态文件路径(如`/path/to/image.png`) - 支持动态字段(如从数据库BLOB字段读取) 4. **设置缩放属性** - 保持纵横比 - 拉伸填充 - 裁剪适应 注意:NCReport具体实现可能有所不同,建议查阅其官方文档中关于`ImageItem`的配置参数[^1]。若实际使用LimeReport,可通过设计器工具栏直接拖放图片控件并设置属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值