Crie automaticamente páginas QStackedWidget com base na Tuple
Sou bastante novo em python e sinto que essa é uma pergunta avançada, com isso em mente que pode estar fora do escopo do Stack Exchange. Por favor, tenha paciência comigo.
Eu tenho um QTreeWidget e QStackedWidget. Eu preenchi o QTreeWidget usando uma tupla
TreeList = ({
'Header1': ((
'Item11',
'Item12',
)),
'Header2': ((
'Item21',
'Item22'
))
})
for key, value in TreeList.items():
root = QTreeWidgetItem(self.QTreeWidget, [key])
for val in value:
root.addChild(QTreeWidgetItem([val]))
Eu gostaria de usar essa mesma tupla para preencher um QStackedWidget com páginas que correspondem ao QTreeWidget e estabelecer sinais e slots no mesmo loop. Eu tentei usar:
for key in TreeList['Item1']:
page = QWidget()
page.setObjectName(key)
self.QStackedWidget.addWidget(page)
print(self.QStackedWidget)
mas todos os objetos apontam para o mesmo valor hexadecimal, que suponho que eles não sejam únicos. Talvez eu precise incrementar o índice? Em ambos os casos, não consegui descobrir como gerar os sinais e slots enquanto fazia isso, pois eles estão sendo criados dinamicamente e preciso de nomes únicos, mas previsíveis.
A idéia é que, simplesmente adicionando uma nova categoria ou item à tupla, o QTreeView, o QStackedWidget e os sinais / slots sejam gerados em tempo de execução sem precisar modificar nenhum código-fonte além da tupla.
Qual seria a melhor maneira de conseguir isso?
Desculpe se isso é demais, mas achei que poderia ser uma boa pergunta caso alguém tentasse a mesma coisa posteriormente.
EDIT: eu estou usando Python 3.6 e PyQt5