0

1. 我试图从 QListView 模型中删除几个列出的文件之一。我正在使用此代码,但它不起作用:

ui->listView->model()->removeRow(ui->viewFiles->currentIndex().row());

同样的事情是,如果我使用:

model->removeRow(ui->viewFiles->currentIndex().row());

此代码有什么问题,如何从列表中删除项目?

2. QFileSystemModel仅加载所选目录中的文件。我如何计算QListView模型中的所有这些项目?

4

1 回答 1

1
  1. removeRow(int row)应该正常工作。确保ui->viewFiles->currentIndex().row()返回有效行(即,介于 0 和 之间model->rowCount()-1)。值得注意的是,您的 QModelIndex 可能ui->viewFiles->currentIndex()处于无效状态。您可以通过ui->viewFiles->currentIndex().isValid().

  2. 如前所述,您可以通过以下方式检查模型的行数model->rowCount()

于 2013-06-19T02:16:35.623 回答