我觉得这可能是一个微不足道的问题,但我很难过。
我有两个列表视图,我以为我正在为每个列表视图创建一个模型,但看起来好像列表视图使用的是相同的模型。应该只显示在 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):如果检查为 None:返回
self.refreshA()
self.refreshB()
在显示窗口之前
定义显示窗口(自我):
self.refreshA()
self.refreshB()
self.show()