트리 위젯 항목은 트리 위젯에 대한 정보 행을 관리하는데 사용됩니다. 정보 행에는 일반적으로 여러 데이터 열이 포함됩니다.

 트리 위젯 항목에서 제공하는 함수는 다음과 같습니다.

Methods


리턴 값

함 수

설 명


addChild( child )

트리 위젯 항목의 하위 항목을 추가합니다.

CheckState

checkState( column )

트리 위젯 항목의 체크상태를 얻어옵니다.

TreeWidgetItem

child( index )

트리 위젯 항목의 하위 목록에서 인덱스에 해당하는 항목을 얻어옵니다.

int

childCount()

트리 위젯 항목의 하위 목록 갯수를 읽어옵니다.


clearChild()

트리 위젯 항목의 하위 항목을 모두 삭제합니다.

int

columnCount()

트리 위젯 항목의 열 갯수를 읽어옵니다.

variant

data( column )

트리 위젯 항목에 해당하는 데이터 값을 읽어옵니다.

bool

isChecked(column)

해당 컬럼의 체크 상태를 읽어 옵니다.

bool

isExpanded( )

해당 트리 항목의 확장/축소 상태 읽어 옵니다.

TreeWidgetItem

parent()

트리 위젯 항목의 상위 항목을 반환합니다.


removeChild( child )

트리 위젯 항목을 삭제합니다.


setBackgroundColor( column, color )

트리 위젯 항목의 배경색을 설정합니다.


setChecked(colum,checked)

해당 컬럼에 체크 상태를 설정하거나 해제 합니다.


setCheckState( column, state )

트리 위젯 항목의 체크상태를 설정합니다.


setData( column, value )

트리 위젯 항목에 해당하는 데이터 값을 설정합니다.


setExpanded( expand )

트리 위젯의 하위 항목이 있을 경우 확장시킵니다.


setTextColor( column, color )        

트리 위젯 항목의 글자색을 설정합니다.


setText( column, text )

트리 위젯 항목의 텍스트를 설정합니다.

TreeWidgetItem

takeChild( index )

트리 위젯 항목의 하위 목록에서 인덱스에 해당하는 항목을 삭제하고 삭제 항목을 반환합니다.

str

text( column )

트리 위젯 항목의 텍스트를 읽어옵니다.




 addChild( child:트리 위젯 항목 )

 

 트리 위젯 항목의 하위에 child 트리 위젯 항목를 추가합니다.


  • child : 추가할 트리 위젯 항목을 입력합니다.


 예)

obj = canvas.getObject('TreeWidget')

obj.setHeaderCount(2)

obj.setHeaders(['Rank','Distribution'])

root = obj.invisibleRootItem()

item = TreeWidgetItem()

item.setText(0,'ROOT')

item.setText(1,'Root/Item')

# item 항목을 root 항목에 하위로 추가합니다.

root.addChild(item)  


itemChild = TreeWidgetItem()

itemChild.setText(0,'Child1')

itemChild.setText(1,'Child1/Item')

# itemChild 항목을 item 항목에 하위로 추가합니다.

item.addChild(itemChild)  


itemChild = TreeWidgetItem()

itemChild.setText(0,'Child2')

itemChild.setText(1,'Child2/Item')

# itemChild 항목을 item 항목에 하위로 추가합니다.

item.addChild(itemChild)  





 CheckState checkState( column:열 )

 

 트리 위젯 항목에서 입력된 열의 체크상태를 얻어옵니다.


  • column : 체크상태를 확인할 열을 입력합니다.
  • 반환값은 3가지 상태로 정의되어 있으며 다음과 같습니다.
    • Qt.Checked : 체크됨
    • Qt.Unchecked : 체크 안됨
    • Qt.PartiallyChecked : 부분 체크됨


 예)

def printCheckState(state):

    if state == Qt.Checked:

        print '체크 상태입니다.'

    elif state == Qt.Unchecked:

        print '미체크 상태입니다.'

    elif state == Qt.PartiallyChecked:

        print '부분체크 상태입니다.'


s = canvas.getObject('TreeWidget')

# 현재 선택된 항목을 얻어옵니다.

item = s.currentItem()      

# 0번째 열의 체크 상태를 얻어옵니다.

state = item.checkState(0);  

printCheckState(state);


 결과) 부분 체크된 항목 선택후 확인

부분체크 상태입니다.



 결과) 체크된 항목 선택후 확인

체크 상태입니다.



 결과) 체크되지 않은 항목 선택후 확인

미체크 상태입니다.




 TreeWidgetItem child( index:항목의 행 인덱스 )

 

 트리 위젯 항목의 하위 목록에서 입력된 행 인덱스에 해당하는 항목을 얻어옵니다.


  • index : 하위 항목의 행 인덱스를 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# 하위 목록중 0번 행 인덱스의 항목을 얻어옵니다.

childItem = item.child(0)      

# 0번 열의 텍스트를 'AX2-1'로 설정합니다.

childItem.setText(0, 'AX2-1')  


 결과) 선택된 항목의 하위 0번 인덱스에 해당하는 항목의 텍스트가 'AX2-1' 로 설정됩니다.




 int childCount()

 

 트리 위젯 항목의 하위 목록 갯수를 읽어옵니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

print item.childCount()


 결과) 선택된 항목의 하위 목록 갯수가 출력됩니다.

4




 clearChild()

 

 트리 위젯 항목의 하위 항목을 모두 삭제합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

item.clearChild()


 결과) 선택한 항목의 하위 항목이 모두 삭제됩니다.




 int columnCount()

 

 트리 위젯 항목의 열 갯수를 읽어옵니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

print item.columnCount()


 결과)

2




 variant data( column:항목의 열 인덱스 )

 

 트리 위젯 항목의 입력된 열 인덱스에 해당하는 데이터 값을 읽어옵니다.


  • column : 항목의 열 인덱스를 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

item.setText(1, '임시 삭제')

# 1번 인덱스에 데이터 값 0을 설정합니다.

item.setData(1, 0)  

# 1번 인덱스의 데이터 값을 출력합니다.

print item.data(1)  


 결과)

0





 bool is Checked( column:열 )

 

 트리 위젯 항목에서 입력된 열의 체크여부를 True/False로 반환 합니다.


  • column : 체크상태를 확인할 열을 입력합니다.

 예)

s = canvas.getObject('TreeWidget')

# 현재 선택된 항목을 얻어옵니다.

item = s.currentItem()      

# 0번째 열의 체크 상태를 얻어옵니다.

state = item.checkState(0);  

if state == True:

    print '체크 상태입니다.'

elif state == False:

    print '미체크 상태입니다.'





 bool isExpanded ()

 

 해당 트리 아이템의 확장/축소 상태를 반환 합니다..


  • 결과  : True 확장상태, False 축소 상태

 예)

s = canvas.getObject('TreeWidget')

# 현재 선택된 항목을 얻어옵니다.

item = s.currentItem()      

state = item.isExpanded()

if state == True:

    print '확장 상태입니다.'

elif state == False:

    print '축소 상태입니다.'





 TreeWidgetItem parent()

 

 트리 위젯 항목의 상위 항목을 반환합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# 상위 항목을 얻어옵니다.

parentItem = item.parent()  

# 항목의 체크상태를 설정합니다.

parentItem.setCheckState(0, Qt.Checked)  


 결과) 선택한 항목의 상위 항목이 체크상태로 표시됩니다.



 

 removeChild( child:삭제할 항목 )

 

 child 에 입력된 트리 위젯 항목과 하위 목록을 모두 삭제합니다.


  • child : 삭제할 트리 위젯 항목을 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# item 항목과 하위 목록을 모두 삭제합니다.

item.parent().removeChild(item)  


결과)




 setBackgroundColor( column:항목의 열 인덱스, color:배경색상 )

 

 트리 위젯 항목의 입력된 열에 배경색상을 설정합니다.


  • column : 항목의 열 인덱스를 입력합니다.
  • color : 설정하려는 배경색상을 QColor 개체를 이용하여 입력합니다.

          QColor 개체는 RGB 색상 값과 투명도 값을 설정해야 합니다. 각 RGB와 투명도 색상 값은 0~255 정수 값을 입력합니다.

          QColor 개체는 다음과 같이 사용합니다.


  • 함수 원형

          QColor(red,green,blue,transparency)


  • 사용 예
    • 빨강색: QColor(255,0,0,255)
    • 불투명한 녹색: QColor(0,255,0,128)
    • 파랑색: QColor(0,0,255,255)


 예)

root = s.invisibleRootItem()

childCount = root.childCount()

for v in range (0, childCount):

    rootItem = root.child(v)

    dongCount = rootItem.childCount()

    for dongIdx in range(0, dongCount):

        dongItem = rootItem.child(dongIdx)

        pxCount = dongItem.childCount()

        for pxIdx in range(0, pxCount):

            pxItem = dongItem.child(pxIdx)

            if (int(pxItem.text(1)) > 300) :

                # 1열의 배경색을 붉은색으로 설정합니다.

                pxItem.setBackgroundColor(1, QColor(255,0,0,255))    

                # 1열의 글자색을 흰색으로 설정합니다.    

                pxItem.setTextColor(1, QColor(255,255,255,255))  


 결과) 소비전력이 300을 초과하는 항목의 배경색을 붉은색, 글자색을 흰색으로 설정합니다.




 se tChecked( column:열, value:체크값 )

 

 트리 위젯 항목의 입력된 열에 체크상태를 설정하거나 해제 합니다.


  • column : 체크상태를 설정할 열을 입력합니다.
  • value :
    • True : 체크 설정
    • False : 체크 해제

 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# 항목의 0번째 열의 체크상태를  설정합니다.

item.setChecked(0,True);  

# 항목의 0번째 열의 체크상태를  해제합니다.

item.setChecked(0,False);  

 



 setCheckState( column:열, state:체크상태 )

 

 트리 위젯 항목의 입력된 열의 체크상태를 설정합니다.


  • column : 체크상태를 설정할 열을 입력합니다.
  • state : 설정할 체크상태를 입력합니다. 체크상태는 3가지 상태로 정의되어 있으며 다음과 같습니다.
    • Qt.Checked : 체크됨
    • Qt.Unchecked : 체크 안됨
    • Qt.PartiallyChecked : 부분 체크됨


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# 항목의 0번째 열의 체크상태를 부분 체크로 설정합니다.

item.setCheckState(0, Qt.PartiallyChecked);  


 결과) 선택항목의 체크상태가 부분 체크로 설정됩니다.



예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# 항목의 0번째 열의 체크상태를 체크됨으로 설정합니다.

item.setCheckState(0, Qt.Checked);  


 결과) 선택항목의 체크상태가 체크됨으로 설정됩니다.



예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

# 항목의 0번째 열의 체크상태를 체크안됨으로 설정합니다.

item.setCheckState(0, Qt.Unchecked);  


 결과) 선택항목의 체크상태가 체크안됨으로 설정됩니다.



 

 setData( column:열, value: 데이터값 )

 

 트리 위젯 항목의 입력된 열에 데이터값을 설정합니다.


  • column : 데이터값을 설정할 열을 입력합니다.
  • value : 설정할 데이터값을 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

item.setText(1, '임시 삭제')

# 1번 인덱스에 데이터 값 0을 설정합니다.

item.setData(1, 0)  

# 1번 인덱스의 데이터 값을 출력합니다.

print item.data(1)  


 결과)

0





 setExpanded( expand:확장 여부 )

 

 트리 위젯 항목의 하위 항목이 존재할 경우 확장할 것인지 설정합니다.


  • expand : 확장 여부를 입력합니다.
    • 0 : 축소된 상태로 설정합니다.
    • 1 : 확장된 상태로 설정합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

item.setExpanded(1)


 결과) 선택항목이 확장 설정됩니다.

 




 setTextColor( column:항목의 열 인덱스, color:글자색상 )

 

 트리 위젯 항목의 입력된 열에 글자색상을 설정합니다.


  • column : 항목의 열 인덱스를 입력합니다.
  • color : 설정하려는 글자색상을 QColor 개체를 이용하여 입력합니다.

          QColor 개체는 RGB 색상 값과 투명도 값을 설정해야 합니다. 각 RGB와 투명도 색상 값은 0~255 정수 값을 입력합니다.

          QColor 개체는 다음과 같이 사용합니다.


  • 함수 원형

          QColor(red,green,blue,transparency)


  • 사용 예
    • 빨강색: QColor(255,0,0,255)
    • 불투명한 녹색: QColor(0,255,0,128)
    • 파랑색: QColor(0,0,255,255)


 예)

root = s.invisibleRootItem()

childCount = root.childCount()

for v in range (0, childCount):

    rootItem = root.child(v)

    dongCount = rootItem.childCount()

    for dongIdx in range(0, dongCount):

        dongItem = rootItem.child(dongIdx)

        pxCount = dongItem.childCount()

        for pxIdx in range(0, pxCount):

            pxItem = dongItem.child(pxIdx)

            if (int(pxItem.text(1)) > 300) :

                # 1열의 배경색을 붉은색으로 설정합니다.

                pxItem.setBackgroundColor(1, QColor(255,0,0,255))  

                # 1열의 글자색을 흰색으로 설정합니다.      

                pxItem.setTextColor(1, QColor(255,255,255,255))  


 결과) 소비전력이 300을 초과하는 항목의 배경색을 붉은색, 글자색을 흰색으로 설정합니다.




 setText( column:항목의 열 인덱스, text:표시 텍스트 )

 

 트리 위젯 항목의 입력된 열에 표시될 텍스트를 설정합니다.


  • column : 항목의 열 인덱스를 입력합니다.
  • text : 표시될 텍스트를 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

item.setText(0, '임시 삭제')


 결과) 선택항목 0번 인덱스 열의 텍스트가 '임시 삭제'로 표시됩니다.




 TreeWidgetItem takeChild( index:항목의 행 인덱스 )

 

 트리 위젯 항목의 하위 목록에서 입력된 행 인덱스에 해당하는 항목을 삭제하고 삭제 항목을 반환합니다.


  • index : 하위 목록의 행 인덱스를 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

takeItem = item.takeChild(0)

item.addChild(takeItem)


 결과) 선택항목의 하위 목록중 0번 행의 항목을 삭제하고 삭제된 항목을 다시 추가하여 표시합니다.




 str text( column:항목의 열 인덱스 )

 

 트리 위젯 항목의 입력된 열에 텍스트를 읽어옵니다.


  • column : 항목의 열 인덱스를 입력합니다.


 예)

s = canvas.getObject('TreeWidget')

item = s.currentItem()

print item.text(0)


 결과) 선택항목 0번 인덱스 열의 텍스트가 출력됩니다.

생산 A동-2