QTreeViewには多数のアイテムがあります。各項目は、このクラスを使用して生成されます。QTreeViewで現在選択されているアイテムを取得する
class Branch(QStandardItem):
def __init__(self, label, uri = None):
QStandardItem.__init__(self, label)
self.uri = uri
これは私の実際の木である:
class FileTree(QTreeView):
def __init__(self):
QTreeView.__init__(self)
def keyPressEvent(self, event):
if event.key() == Qt.Key_Space or event.key() == Qt.Key_Return:
crawler = self.selectedIndexes()[0].model().item(self.selectedIndexes()[0].row())
print(crawler.uri)
QTreeView.keyPressEvent(self, event)
あなたが見ることができるように、私が選択したからURI変数を取得する方法のように少しわかりませんよ項目。私はselectedIndexes()
が商品そのものではなくモデルを返すことを発見しました。私はどのように1つから他のものに取得するか分からない。 self.selectedIndexes()[0].row()
を使ってアイテム番号を取得しようとすると、暗闇の中でちょっとしたショットがありましたが、ツリー内のさまざまなブランチを無視しているようです(たとえば、ブランチの最初の行には0
、それがどこにあるかについて私に教えてください)。
QTreeViewから選択したアイテムを取得する適切な方法は何ですか?または、これを簡単にするために、スペースバーまたはリターンキーが検出されるより良い方法がありますか? QtのためのPythonドキュメントの深刻な欠如があります。だから、私が今まで知的なやり方でやっていることを知ることは本当に難しいです。あなたは右の関数を呼び出している
恐ろしい - それは私が探していたまさにです。これは私がQtでやった最初のことです。それを説明する時間をとってくれてありがとう。 – ashground