我有一种感觉,这可能是一个微不足道的问题,但我很难过。
我有两个listViews,我以为我正在为每个listView创建一个模型,但看起来好像listviews使用的是同一个模型。仅应显示在listViewA中的内容也会显示在listViewB中。我怎样才能纠正这个问题,以便他们拥有自己的模型并显示正确的内容?
以下是我在窗口类中使用 init 方法运行的代码:
self.modelA = ListModel()
self.modelB = ListModel()
self.listViewA.setModel(self.modelA)
self.listViewB.setModel(self.modelB)
我有刷新模型内容的方法
def refreshA(self):
self.modelA.removeRows(0, self.modelA.rowCount(QtCore.QModelIndex()), QtCore.QModelIndex())
... # populate modelA
self.listViewA.update()
def refreshB(self):
self.modelB.removeRows(0, self.modelB.rowCount(QtCore.QModelIndex()), QtCore.QModelIndex())
... # populate modelB
self.listViewB.update()
我从刷新按钮
运行两种刷新方法def on_actionRefresh_triggered(self,checked = None): 如果选中“无”:返回
self.refreshA()
self.refreshB()
并在显示窗口之前
def showWindow(self):
self.refreshA()
self.refreshB()
self.show()
答案 0 :(得分:0)
毕竟这是微不足道的。所需要的只是创建两个特定的数据模型,每个列表视图一个。继承在这里诀窍。