【发布时间】:2011-05-04 07:23:45
【问题描述】:
我正在使用 QTableWidget 并想将一些单元格复制到剪贴板。似乎 QTableWidget 只支持 selectedItems 方法。 出于某种原因,我将输出作为第一列,然后是第二列。不是:第一行,然后是第二行。这使得分离列/行变得有些困难。你知道出了什么问题吗?谢谢!
QList<QTableWidgetItem *> selectedCells(TableView->selectedItems());
QTableWidgetItem * item;
mCopyByteArray.clear();
foreach(item, selectedCells)
{
mCopyByteArray.append(item->text());
mCopyByteArray.append("\r\n");
}
构建时:
TableView = new QTableWidget(); /* I know that name somehow is wrong ;) */
TableView->setColumnCount(2);
QStringList HHeaderList;
HHeaderList << "Computer name" << "ServiceTag";
TableView->setHorizontalHeaderLabels(HHeaderList);
TableView->verticalHeader()->setVisible(false);
TableView->setEditTriggers(QTableWidget::NoEditTriggers);
有什么想法吗?谢谢!
【问题讨论】:
-
所以它会像这样通过 selectedCells 吗? (第 0 行,第 0 列)然后(第 1 行,第 0 列)等等?但是你想让它去(第 0 行,第 0 列)然后(第 0 行,第 1 列)?
-
没错!我认为这应该是正常的方式。
-
我写了一个小算法来按照你想要的顺序遍历 QList selectedCells。
标签: c++ qt qt4 clipboard qtableview