QStandardItemModel :: removeRows()在我的用例中不起作用

时间:2012-08-01 22:04:17

标签: qt qstandarditemmodel

基本上我想删除模型中的所有行。我更愿意使用removeRows(..)代替clear(),因为我想保留我的标题。

我想我错过了一些东西(docu here),我的代码非常简单:

int c = MainWindow::_viewDataModel->rowCount();
bool r = MainWindow::_viewDataModel->removeRows(0, c);

c例如是4,但r总是假的。我尝试过0和1作为第一个索引。使用clear()有效。上面的代码完全没有影响。

1 个答案:

答案 0 :(得分:1)

现在正在运作。经过一些测试我的发现:

  • RemoveRows在模型中的行数较少时非常敏感,因为我指定删除。
  • 在我的特殊情况下,当模型中只有4行时,我确实要删除5行。因此,如果模型中只有3行,_viewDataModel->removeRows(0, 4);根本不会删除任何内容。
  • 与此类情况不同的是,完全没有删除。
  • 我现在的解决方案是在删除之前彻底获取模型大小。