我有一个大的qtablewidget。让我们说200行。在QListWidget中,有setMaxVisibleItems(30),这非常有用。什么是qtablewidget的等价物,除了行。 IE浏览器。 setMaxVisibleRows?
我考虑过为我的窗口设置最大高度。但是,此应用程序可用于不同的DPI。所以,对某些人来说可能很小。另外,这感觉就像一个不必要的限制。
我也看到了这一点:How to show only 30 rows and hide the remaining rows of QTableWidget
但是,无论如何都不一样。
非常感谢您的进步!
答案 0 :(得分:0)
我要做的最好方法是使用Qt' void QTableView::setRowHidden(int row, bool hide)
void QTableView :: setRowHidden(int row,bool hide):
如果hide为true,则会隐藏行,否则会显示。
如果你知道你的桌子的数量,你可以使用它,你必须使用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