qt — Qt5 C ++: удалить элемент из модели QListView и как считать элементы

1.
Я пытаюсь удалить один из нескольких перечисленных файлов из модели QListView. Я использую этот код, но он не работает:

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

То же самое, если я использую:

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

Что не так с этим кодом, и как мне удалить элемент из списка?

2.
QFileSystemModel загружает только файлы из выбранного каталога. Как мне посчитать все эти предметы из QListViewмодель?

0

Решение

  1. removeRow(int row) должно нормально работать. Удостоверься что ui->viewFiles->currentIndex().row() возвращает действительную строку (т. е. от 0 до model->rowCount()-1). Примечательно, что возможно, что ваш QModelIndex ui->viewFiles->currentIndex() находится в недопустимом состоянии. Вы можете проверить это через ui->viewFiles->currentIndex().isValid(),

  2. Как уже говорилось, вы можете проверить количество строк вашей модели с помощью model->rowCount()

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]