zoukankan      html  css  js  c++  java
  • QT实现appendSheet(QAxObject的一种Add + Move的方法)

           一般地,熟悉VB、VC的同学都知道,要将新增的excel表单添加到表单的末尾,是很简单的事情,直接调用Add函数,传入对应的函数形参,就能实现将新增表单插入到末尾,但是通过QT的QAxObject实现appendSheet()却不是那么容易的事情,因为上述的Add函数不奏效,经过多次试验尝试,发现通过Add函数新增的表单只能插入到某一表单的前面,而不能添加到表单的尾部,那怎么办呢?我这里采用了一种Add + Move的方法,实现appendSheet的功能,也就是通过Add新增一个sheet,然后通过Move函数,将生成的表单移到当前最后一个表单的末尾,从而达到实现appendSheet的目的,下面是具体的实现方法:

    void appendSheet(const QString &sheetName)
    {
        int cnt = pWorkSheets->property("Count").toInt();
        QAxObject *pLastWorkSheet = pWorkSheets->querySubObject("Item(int)", cnt);
        pWorkSheets->querySubObject("Add(QVariant)", pLastWorkSheet->asVariant());
        pNewSheet = pWorkSheets->querySubObject("Item(int)", cnt);
        pLastSheet->dynamicCall("Move(QVariant)", pNewSheet->asVariant());
        pNewSheet->setProperty("Name", strsheetName);
    }

    http://blog.csdn.net/rabinsong/article/details/8570410

  • 相关阅读:
    谷歌火狐浏览器限制的端口
    Web Api 内部数据思考 和 利用http缓存优化 Api
    Web Api 端点设计 与 Oauth
    FI-FBV0
    Others-SAP hybris 介绍
    ABAP-表修改日志存储
    TR-银行通信相关文档
    ABAP-Eclipse ADT中创建ABAP CDS视图
    TR-业务流程图
    FPM-OVP增强实例-银行账户
  • 原文地址:https://www.cnblogs.com/findumars/p/5599448.html
Copyright © 2011-2022 走看看