void caTable::copy() { QItemSelectionModel *select = this->selectionModel(); if( select->hasSelection()) { QClipboard *clipboard = QApplication::clipboard(); QString str; QModelIndexList rows = select->selectedRows(); int i=0; foreach (QModelIndex Row, rows) { if (i > 0) str += "\n"; for(int j = 0; j < columnCount(); ++j) { if (j > 0) str += "\t"; QTableWidgetItem* pWidget = item(Row.row(), j); str += pWidget->text(); } i++; } if(i==0) { //printf("no rows were selected\n"); QModelIndexList cols = select->selectedColumns(); foreach (QModelIndex Col, cols) { if (i > 0) str += "\n"; for(int j = 0; j < rowCount(); ++j) { if (j > 0) str += "\t"; QTableWidgetItem* pWidget = item(j, Col.column()); str += pWidget->text(); } i++; } }