如何从QListView
删除项目?对于QComboBox
它是removeItem
,但我找不到QListView
的等效函数。
使用pyqt4。
答案 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