저는 파이썬에 처음으로 익숙합니다.이 질문은 스택 교환의 범위를 벗어날 수 있다는 점을 염두에두고 고급 질문이라고 생각합니다. 나와 함께 견뎌주세요.터플을 기반으로 QStackedWidget 페이지를 자동으로 생성합니다.
저는 QTreeWidget과 QStackedWidget을 가지고 있습니다. 나는 튜플 나는 QTreeWidget에 해당 동일한 루프와 신호와 슬롯을 설정 페이지와 QStackedWidget을 채우기 위해이 같은 튜플을 사용하고자하는
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]))
를 사용하여 QTreeWidget을 채워왔다. 나는 다음을 사용하여 시도했다 :
for key in TreeList['Item1']:
page = QWidget()
page.setObjectName(key)
self.QStackedWidget.addWidget(page)
print(self.QStackedWidget)
그러나 모든 객체는 동일한 헥사 값을 가리킨다. 아마도 색인을 증가시켜야합니까? 두 경우 모두 동적으로 생성되고 고유하지만 예측 가능한 이름이 필요하기 때문에 신호와 슬롯을 생성하는 방법을 파악할 수 없었습니다.
튜플에 새로운 카테고리 나 아이템을 추가하기 만하면 튜토리얼 밖의 소스 코드를 수정할 필요없이 런타임에 QTreeView, QStackedWidget 및 신호/슬롯이 모두 생성된다는 아이디어가 있습니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
죄송합니다. 너무 많으면 다른 사람이 나중에 동일한 시도를 시도 할 때 좋은 질문 일 수 있습니다.
편집 : 파이썬 3.6 PyQt5
아이디어가QTreeWidgetItem
으로
QStackedWidget
의 인덱스를 연결하는 것입니다
하고 QTreeWidget 항목, 즉, 어떤 신호 연결하려는 수행하십시오
data()
방법? – eyllanesc페이지 탐색에 QTreeWidget을 사용하고 싶습니다. 헤더에는 아무런 연결이 없습니다. –