1. 我正在尝试从 QListView 模型中删除几个列出的文件之一。我正在使用此代码,但它不起作用:
ui->listView->model()->removeRow(ui->viewFiles->currentIndex().row());
同样的事情是如果我使用:
model->removeRow(ui->viewFiles->currentIndex().row());
这段代码有什么问题,我如何从列表中删除一个项目?
2。
QFileSystemModel
只加载所选目录中的文件。我如何从 QListView
的模型中计算所有这些项目?
最佳答案
removeRow(int row)
应该正常工作。确保ui->viewFiles->currentIndex().row()
返回有效行(即介于 0 和model->rowCount()-1
之间)。值得注意的是,您的 QModelIndexui->viewFiles->currentIndex()
可能处于无效状态。您可以通过ui->viewFiles->currentIndex().isValid()
进行检查。如前所述,您可以通过
model->rowCount()
检查模型的行数
关于c++ - Qt5 C++ : Remove item from QListView's model and how to count items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17174239/