これは些細な質問かもしれないと感じていますが、困惑しています。
2 つの listView があり、各 listView のモデルを作成していると思っていましたが、リストビューが同じモデルを使用しているように見えます。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 の場合: return
self.refreshA()
self.refreshB()
ウィンドウを表示する前に
デフォルトshowWindow(自己):
self.refreshA()
self.refreshB()
self.show()