私はMVCとPyQtプログラミングが初めてです。私は別のListViewから項目をクリックするとListViewを更新する方法を理解したかったのです。私はMVCに行く。ListView 1をクリックしたアイテムに基づいてListView 2を更新する方法
リストビュー1は、XMLファイルのすべてのプライマリノードをリストすることによって更新されます。 ListView 2はListView 1のクリックされた親ノードの子ノードで更新する必要があります。
ListView1(onClicked())からシグナルを出し、クリックした適切なItemとともにListView2でキャプチャする方法を教えてください。いったんこのItemを取得すると、既存のロジックでこのItemを使用して、このItemを使用してListView2を設定できます。
今まで私は別のアプローチを試みましたが、何も働いていませんでした。以下を含む:
val = ListView1.clicked.connect(getRowName)
def getRowName():
data = ListView1.selectedIndexes()
print(data)
return data
"data"変数は、ListView1の項目をクリックしても値を保持しません。
もう1つ、ListView 1とListView 2の2つのモデルをそれぞれ1つずつ考慮する必要がありますか?
私はあなたを混乱させてしまいましたが、私の質問では、Selectedの代わりにClickedを使用していたはずです。だから、ListView2のコンテンツを更新するために、ListView1でクリックされたアイテムを取得する方法をシグナルとともに調べようとしています。 BTWあなたの答えをありがとう。 –
選択とは対照的に、なぜクリックする必要がありますか?あなたが本当に欲しいのはそれですか?最初のリストの選択に基づいて2番目のリストを更新する場合は、選択が変更されたときに更新するだけです。 'clicked'を使うと、何も選択されていなくても選択が変わっていなくても、最初のリストにクリックが登録されるたびに2番目のリストを更新します。 –
しかし、リスト内のどの項目が選択されたのか、どのように情報を渡しますか?ありがとう –