Вы можете использовать setExpanded (), чтобы развернуть или свернуть элемент:
alpha.setExpanded(False)
Я только что заметил, что в вашем коде my_tree.expandAll()
. Если вы хотите свернуть один из элементов, используйте item.setExpanded(False)
ПОСЛЕ .expandAll()
. Чтобы установить первый дочерний элемент в альфа-формате, выберите:
alpha.child(0).setSelected(True)
print(alpha.child(0).isSelected()) #verify it's selected
Где разместить их в вашем коде:
.
.
beta.addChild(QtWidgets.QTreeWidgetItem(['first']))
beta.addChild(QtWidgets.QTreeWidgetItem(['second']))
my_tree.expandAll()
my_tree.setCurrentItem(my_tree.topLevelItem(0))
alpha.setExpanded(False)
alpha.child(0).setSelected(True)
print(alpha.child(0).isSelected()) # verify it's selected
self.show()
Чтобы запустить функцию при изменении выбора, попробуйте код ниже, он выведет текст выбранного элемента или дочернего элемента (поместите его перед self.show):
my_tree.itemSelectionChanged.connect(lambda: selected_item())
def selected_item():
getSelected = my_tree.selectedItems()
if getSelected:
baseNode = getSelected[0]
getChildNode = baseNode.text(0)
print(getChildNode)