Vì vậy, tôi có một câu hỏi liên quan chặt chẽ đến một câu hỏi khác mà tôi đã thấy ở đây, nhưng khi tôi thử đặt câu hỏi của mình ở đó, tôi không có phản hồi, tôi hy vọng bằng cách đặt câu hỏi này giúp tôi. Về cơ bản tôi muốn chỉ cần sao chép một phần của bảng của tôi mà tôi đã tạo ra để tôi có thể dán nó vào một tập tin excel. Dưới đây là những gì tôi có:Sao chép một phần của 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);
này sẽ sao chép một cột tốt, nhưng khi tôi cố gắng để sao chép một hàng hoặc nói một 2x2 subtable chỉ số hàng được điều sai lầm, sai gán chỉ số hàng cho các giá trị. Có suy nghĩ gì không?
Phạt tiền, sẵn sàng để sử dụng đoạn mã. 1 đặc biệt cho qSort của các tế bào. Điều đó có thể đã vấp ngã tôi trong một thời gian – Mizmor
Từ http://stackoverflow.com/questions/1230222/selected-rows-line-in-qtableview-copy-to-qclipboard: bạn có thể sử dụng sự kiện-> kết quả phù hợp (QKeySequence :: Sao chép) thay vì kiểm tra thủ công ctrl + c – Legolas
Ah có vẻ tốt hơn –