Tengo una pregunta muy relacionada con otra pregunta que he visto aquí, pero cuando intenté hacer mi pregunta, no obtuve ninguna respuesta. Espero hacer una pregunta nueva que alguien pueda hacer. ayúdame. Básicamente, simplemente quiero copiar una parte de mi tabla que he creado para poder pegarla en un archivo de Excel. Aquí es lo que tengo:Copiando parte de 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);
Esto copiará una fina columna, pero cuando intento copiar una fila o decir un 2x2 subtabla el índice de la fila se cometa un error, asignar incorrectamente el índice de la fila de los valores. ¿Alguna idea?
A bien, listo para usar fragmento de código. +1 especialmente para la qSort de las celdas. Eso me habría hecho tropezar por un tiempo – Mizmor
Desde http://stackoverflow.com/questions/1230222/selected-rows-line-in-qtableview-copy-to-qclipboard: puedes usar event-> matches (QKeySequence :: Copiar) en lugar de verificar manualmente ctrl + c – Legolas
Ah, eso suena mejor –