Quindi ho una domanda strettamente correlata a un'altra domanda che ho visto qui ma quando ho provato a porre la mia domanda non ho ricevuto risposte, spero che questa sia una nuova domanda che qualcuno può aiutarmi. Fondamentalmente voglio semplicemente copiare una parte del mio tavolo che ho creato in modo che possa incollarlo in un file excel. Ecco quello che ho:Copia di parte di QTableView
QAbstractItemModel *abmodel = ui.tableview->model();
QItemSelectionModel *model = ui.tableview->selectionModel();
QModelIndexList list = model->selectionIndexes();
qSort(list);
QModelIndex index = list.first();
for(int i = 0; i < list.size(); i++)
{
QModelIndex index = list.at(i);
QString text = abmodel->data(index).toString();
copy_table.append(text);
if(index.row() != previous.row())
{
copy_table.append('\n');
}
else
{
copy_table.append('\t');
}
previous = index;
}
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(copy_table);
Questo copierà una multa di colonna, ma quando tento di copiare una riga o dire una 2x2 sottotabella l'indice di riga viene incasinato, assegnando in modo non corretto l'indice di riga per i valori. qualche idea?
A fine, pronto all'uso frammento di codice. +1 in particolare per il qSort delle celle. Questo mi avrebbe fatto inciampare per un po 'di tempo – Mizmor
Da http://stackoverflow.com/questions/1230222/selected-rows-line-in-qtableview-copy-to-qclipboard: puoi usare event-> matches (QKeySequence :: Copia) invece di controllare manualmente per ctrl + c – Legolas
Ah che suona meglio –