QTableWidget一次显示一定数量的行

QTableWidget display certain number of rows at a time

本文关键字:一次 QTableWidget 显示      更新时间:2023-10-16

我有一个大的qtablewidget。 假设有 200 行。 在QListWidget中,有setMaxVisibleItems(30(,它非常有用。 qtablewidget 的等价物是什么,除了行。 即。设置最大可见行?

我考虑过为我的窗户设置最大高度。 但是,此应用程序可用于不同的 DPI。 因此,对于某些人来说,它可能很小。 另外,这感觉像是一个不必要的限制。

我也看到了这个:如何只显示 30 行并隐藏 QTableWidget 的剩余行

但是,无论如何都不一样。

提前非常感谢!

我最好的方法是使用Qt的void QTableView::setRowHidden(int row, bool hide)

void QTableView::setRowHidden(int row, bool hide(:

如果隐藏为真,则行将被隐藏,否则将显示。

如果您知道表的计数,则可以使用它,则必须使用model并使用rowCount()

那么for循环应该很容易:

for(int i = startHidingHere; i < numOfRows; i++)
myTable->setRowHidden(i, true);

您显然可以执行类似的方法来取消隐藏它们。如果将来需要,此方法也适用于过滤器。

其他可能的有用方法:

bool QTableView::isRowHidden(int row);
void QTableView::setColumnHidden(int column, bool hide);
void QTableView::setModel(QAbstractItemModel *model);
->   int QAbstractItemModel::rowCount(const QModelIndex & parent = QModelIndex()) const