Как удалить элемент из QListView
? Для QComboBox
это removeItem
, но я не могу найти эквивалентную функцию для QListView
.
Используя pyqt4.
Как удалить элемент из QListView
? Для QComboBox
это removeItem
, но я не могу найти эквивалентную функцию для QListView
.
Используя pyqt4.
В QListWidget вы можете удалить напрямую с помощью takeAt()
, но не в QListView (читай Qt Model/View). Вы должны использовать виджет, если вам не нужна ваша собственная модель. Если QListView имеет то, что вам нужно, получите модель и удалите ее, т.е. qListView.model().removeRow(row)
Вы должны использовать модель model = QStandardItemModel()
. Затем эту модель нужно присвоить QListView listView.setModel(model)
. Таким образом, вы можете напрямую работать в модели model.removeRow(row)
для удаления, standardItem = model.item(row)
для получения значения, model.insertRow(0, standardItem)
для вставки в первую позицию. Вы также можете увидеть дополнительные функции для работы с моделями в классе QStandardItemModel.
Вы должны использовать модель, а не представление.
см. http://doc.qt.io/qt-4.8/qabstractitemmodel.html#removeRow