qt: удалить элемент из QListView - PullRequest
1 голос
/ 20 мая 2011

Как мне удалить предмет из QListView?Для QComboBox это removeItem, но я не могу найти эквивалентную функцию для QListView.

Использование pyqt4.

Ответы [ 3 ]

7 голосов
/ 21 мая 2011

В QListWidget вы можете удалить напрямую с помощью takeAt(), но не в QListView (читайте Qt Model / View). Вы должны использовать виджет, если вам не нужна ваша собственная модель. Если QListView равен , то вы хотите получить модель и удалите, т.е. qListView.model().removeRow(row)

1 голос
/ 21 мая 2011

Вы должны использовать модель, а не вид.

см. https://doc.qt.io/qt-4.8/qabstractitemmodel.html#removeRow

0 голосов
/ 30 августа 2018

Вы должны использовать модель model = QStandardItemModel().Затем эта модель должна быть присвоена QListView listView.setModel(model).Таким образом, вы можете напрямую работать в модели model.removeRow(row) для удаления, standardItem = model.item(row) для получения значения, model.insertRow(0, standardItem) для вставки в первую позицию.Вы также можете увидеть дополнительные функции для работы с моделями в QStandardItemModel Class

...