返回列表 发帖

QT中 spreadSheet合并单元格问题?

仿照 C++ GUI Qt编程(第二版)作了spreadSheet的例子, 若没有合并的单元格,复制、粘贴多个单元格正常,若用setSpan合并单元格后, 选中多个单元格后,只复制了第一个单元格,这个怎么回事?

QTableWidgetSelectionRange Spreadsheet::selectedRange() const
{
    QList<QTableWidgetSelectionRange> ranges=selectedRanges();
    if(ranges.isEmpty())
        return QTableWidgetSelectionRange();
    return ranges.first();
}

void Spreadsheet::copy()
{
    QTableWidgetSelectionRange range=selectedRange();
    QString str;

    for(int i=0; i<range.rowCount();++i) {
        if(i>0)
            str+="\n";
        for(int j=0; j<range.columnCount(); ++j) {
            if(j>0)
                str+="\t";
            str+=formula(range.topRow()+i,range.leftColumn()+j);
        }
    }
    QApplication::clipboard()->setText(str);
}

返回列表