gpt4 book ai didi

c++ - 如何从 QTableWidget 中删除所有行

转载 作者:IT老高 更新时间:2023-10-28 12:36:30 25 4
gpt4 key购买 nike

我正在尝试从 QTableWidget 中删除所有行.这是我尝试过的。

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

我的 table 上有两行。但这只是删除了一行。一个原因可能是我没有创建具有固定表大小的表。 rowCount() 的 Qt 文档说,

This property holds the number of rows in the table.

By default, for a table constructed without row and column counts, this property contains a value of 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);
}

关于c++ - 如何从 QTableWidget 中删除所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15848086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com