qt:从QListView中删除项目

时间:2011-05-20 14:58:52

标签: qt qt4 qlistview

如何从QListView删除项目?对于QComboBox它是removeItem,但我找不到QListView的等效函数。

使用pyqt4。

3 个答案:

答案 0 :(得分:7)

在QListWidget中,您可以直接使用takeAt()删除,但不能在QListView中删除(阅读Qt模型/视图)。除非您需要自己的模型,否则应该使用小部件。如果QListView 你想要什么,那么得到模型,并删除,即qListView.model().removeRow(row)

答案 1 :(得分:1)

您应该使用模型,而不是视图。

请参阅https://doc.qt.io/qt-4.8/qabstractitemmodel.html#removeRow

答案 2 :(得分:0)

您应该使用模型model = QStandardItemModel()。然后,应将此模型分配给QListView listView.setModel(model)。因此,您可以直接在模型model.removeRow(row)中进行删除,在standardItem = model.item(row)中进行获取值,在model.insertRow(0, standardItem)中进行插入第一个位置。您还可以在QStandardItemModel Class

中看到与模型一起使用的其他功能