私はpyqt5とpython 3.6を使用しています。 私はQModel/TreeViewのインデックス関数について混乱しており、ここで脳の結び目をクリアするように頼んでいます。いくつかのスレッドは非常に特別なので、私をもっと混乱させました。私の質問は多かれ少なかれ基本的なものです。QtreeViewとTreeModelの同期方法
私はデータを持つ(Uludag's great tutorialsに基づく)のモデルを持っているし、私のツリーに設定しました:
treeView = QTreeView()
treeView.show()
treeView.setModel(model)
#additional code
treeView.clicked.connect(treeViewStructure_clicked)
今、私が選択した項目に基づいて、プログラムの更なる行動を準備する必要があります。私はアイテムを得ることができます
def treeViewStructure_clicked(self):
#get the row of the click and print
index = treeView.currentIndex()
print(index.row())
print('selected item index at %s with data: %s' % (index.row(), index.data()))
これまでのところ良いです。しかし、このインデックスはtreeViewから生成されます(モデルは機能しません)。どのようにして選択フォームをモデルに接続して、正しいModelindexを持ち、モデル内のデータを変更できるのでしょうか? もちろん、それらを書き直して同期させる方法はありますか?言い換えれば、どこから来て、どこから来るのであれば、どのインデックスが必要ですか?
に持っているものは何でもモデルであるだけで、デリゲートにツリーを取得するために余分なステップです。したがって、インデックスは常にモデルから来ます。 – ekhumoro
ありがとう!これは、例えばを意味する。ツリー内の項目をクリックすると、モデル内のインデックスが設定されます。だから別の問題があるはずです。 – Hans