2012-07-11 12 views
0

파이썬 플러그인에 대해 작업하고 있습니다. QTreeWidget을 사용하여 항목을 나열했습니다. [qtreewidget의 목록] [1]이 링크는 많은 도움이되었습니다.QTreeWidget의 파이썬 부모

내 코드는 다음과 같습니다

valestimate=QTreeWidgetItem(str(parent_name)) 
for row in c.fetchall(): 
     strval=QTreeWidgetItem(unicode(row[0])) 
     valestimate.addChild(strval) 
     self.treeWidget.addTopLevelItem((valestimate)) 

PARENT_NAME내 부모 QTreeWidget의 이름입니다. EX : 'ACO_233' 그러나 출력은 다음

그때 두 개 이상의 같은 열 개수를 설정하면 [2]

그것은로 표시된다 [여기 화상 정보 입력]!

를! [여기에 이미지 설명을 입력하십시오] [3]

Qtreewidget에서 전체 문자열을 부모로 나열하는 방법 ?? 다음 링크 [[qtreewidget의 단일 문자]] [4] ..inserttoplevelitem은 list를 매개 변수로 취합니다. 그러나 어떤 항목을 부모로 만들고 싶다면 qtreewidget 유형 항목에 목록을 추가 할 수 없습니다. 어떻게해야합니까 ??

답변

1

확인 documentation :

QTreeWidgetItem.__init__ (self, QStringList strings, int type = TreeWidgetItem.Type) 

구축해, 지정된 타입의 트리 위젯 항목을 선택합니다. 항목은 트리 위젯에 삽입 된 이어야합니다. 지정된 문자열 목록은 항목의 각 열에 대한 항목 텍스트로 으로 설정됩니다.

QTreeWidgetItem는 열을 채우기 위해 문자열의 목록을 기대하고있다. QTreeWidgetItem(str(parent_name))을 수행하면 문자열 parent_name이 문자 목록 (문자열)으로 해석되고 모든 문자가 열에 배치됩니다. 대신 당신은 일을해야한다 :

valestimate = QTreeWidgetItem([parent_name]) 

이것은 해당 열의 값으로 당신에게 parent_name 단일 열 항목을 제공 할 것입니다.

은 (그건 그렇고, str() 또는 unicode() 주변 사물을 변환 할 수있는 좋은 방법이 아니다. 당신은 그 반대에 대한 str 또는 .decodeunicode 변환 .encode을 사용해야합니다.) 나는 대답을 얻었다

0

.

 valestimate=QTreeWidgetItem() 
     valestimate.setText(0,str(parent_name)) 

상위 이름을 qtreewidget 유형으로 직접 변환하는 대신 settext 속성을 사용할 수 있습니다.