我有 100 多行的 QTableView。但一次只能看到 6 行。要查看下一組行,我必須使用滾動條。
我想在 QTableView 中列印可見行。但不能那樣做。我只能列印單個選定的行。
QItemSelectionModel *select = _table->selectionModel();
QModelIndexList selectedRow = select->selectedRows();
QModelIndex index = selectedRow.at(0);
int columnCount = 2; // there are 2 columns in a row
QString copySelectedRowText_;
for(int i = 0 ; i < columnCount; i )
{
copySelectedRowText_ = index.sibling(index.row(), i).data().toString() " ";
}
qDebug() << copySelectedRowText_;
如何在 QTableView 中列印可見行?
uj5u.com熱心網友回復:
你可以通過獲取當前行號value()的verticalScrollbar,你也可以得到通過顯示的行數pagestep()。
這是我的代碼,你可以試試:
void TesWidget::onbtnClicked()
{
int start_index = ui.tableView->verticalScrollBar()->value();
int page_cnt = ui.tableView->verticalScrollBar()->pageStep();
int end_index = start_index page_cnt;
int row_cnt = model_->rowCount();
int col_cnt = model_->columnCount();
QString text;
for (int i = start_index; i < row_cnt && i <= end_index; i )
{
for (int j = 0; j < col_cnt; j )
{
text.append(QStringLiteral("%1 ").arg(model_->item(i,j)->text()));
}
text.append("\n");
}
qDebug() << text;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/407446.html
標籤:
上一篇:在QT/QML下拉項上添加按鈕
