如何从 QTableWidget 中删除所有行

2024-01-14

我正在尝试删除 a 中的所有行QTableWidget http://doc.qt.io/qt-4.8/qtablewidget.html。这是我尝试过的。

for ( int i = 0; i < mTestTable->rowCount(); ++i )
{
    mTestTable->removeRow(i);
}

我的桌子上有两行。但这只是删除了一行。原因可能是我没有创建具有固定表大小的表。 Qt 文档行计数() http://doc.qt.io/qt-4.8/qtablewidget.html#rowCount-prop says,

该属性保存表中的行数。

默认情况下,对于没有行数和列数构建的表, 该属性包含值 0。

那么如果是这种情况,从表中删除所有行的最佳方法是什么?


只需将行数设置为 0:

mTestTable->setRowCount(0);

它将删除QTableWidgetItem通过调用自动调用removeRows正如你所看到的QTableWidget内部型号代码:

void QTableModel::setRowCount(int rows)
{
    int rc = verticalHeaderItems.count();
    if (rows < 0 || rc == rows)
        return;
    if (rc < rows)
        insertRows(qMax(rc, 0), rows - rc);
    else
        removeRows(qMax(rows, 0), rc - rows);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 QTableWidget 中删除所有行 的相关文章

随机推荐