Kopieren Teil QTableView
So, ich habe eine Frage, die sehr eng mit einer anderen Frage, die ich gesehen habe hier, aber wenn ich versuchte, Sie posiert meine Frage dort bekam ich keine Antworten, ich hoffe durch diese Frage eine neue Frage kann jemand mir helfen. Im Grunde möchte ich kopiere einfach einen Teil meiner Tabelle, die ich erstellt habe, so dass ich fügen Sie es in eine excel-Datei. Hier ist, was ich habe:
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);
Dies wird kopieren Sie eine Spalte in Ordnung, aber wenn ich Versuch zu kopieren eine Zeile oder sagen eine 2x2-Untertabelle der Zeile index Durcheinander gebracht, falsch die Zuordnung der Zeilen-index für die Werte. Irgendwelche Gedanken?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, schon kapiert, tut mir Leid, dass jemand Ihre Zeit verschwendet und sah.
}
Ich schrieb einige code basiert auf Phil ' s um die Auswahl zu kopieren, wenn der Benutzer Ctrl-C.
Ich Unterklassen
QTableWidget
und überschriebkeyPressEvent()
:Ausgabe Beispiel (tab-getrennt):
Bezüglich der cdline:
qSort(Zellen); //Notwendig, sonst werden Sie in der Spalte bestellen
derzeit(20190118) es eine Warnung bringt:
Warnung: 'qSort >' ist veraltet: Benutzen Sie std::sort
also meine Lösung ersetzen Sie die Zeile mit:
std::sort(Zellen.begin(),Zellen.end());
Kompilieren, Ausführen, OK -> so weit so gut. Aber Frage: Profitieren Sie von diesem cdline?
Ich fand es niemand. Mehrere Test mit Kopie von gui und analysieren Sie Sie in excel. Alles war in Ordnung, auch mit dem Szenario 2x2 oder sonstige XxY.