Ваш вопрос кажется запутанным, но я собираюсь проанализировать его буквально.
Нет разницы между выбранным элементом, который является дочерним или нет другого элемента, если вы хотите получить выбранный элемент, то у вас есть следующие опции:
# ...
w.show()
def on_itemSelectionChanged():
items = tw.selectedItems()
for it in items:
print(it.text(0))
tw.itemSelectionChanged.connect(on_itemSelectionChanged)
sys.exit(app.exec_())
# ...
w.show()
def on_selectionChanged():
indexes = tw.selectedIndexes()
for index in indexes:
print(index.data())
tw.selectionModel().selectionChanged.connect(on_selectionChanged)
sys.exit(app.exec_())