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

  • 相关阅读:
    持久化类的三种状态
    Hibernate持久化类规则
    JSP之Bean
    JSP动作标签
    JSP九大内置对象
    Jsp指令
    JSTL标签语言
    JSP之EL表达式
    Java 中的 Characters
    汇编基本语法
  • 原文地址:https://www.cnblogs.com/findumars/p/5599448.html
Copyright © 2011-2022 走看看