콤보 박스는 사용자에게 옵션 목록을 제공하는 위젯입니다. 콤보 박스는 선택된 항목을 표시하고 버튼 클릭시 선택 가능한 항목 목록을 팝업하여 사용자가 항목을 선택할수 있도록 기능을 제공합니다.



 


 



 아래의 API를 이용해 콤보 박스를 조작 할 수 있으며 항목 선택 변경시 변경 이벤트를 받아 로직을 추가 할 수 있습니다.

 콤보 박스에서 지원하는 함수와 이벤트는 다음과 같습니다.

Methods

리턴 값

함 수

설 명


addItem( text , userData )

콤보박스에 항목을 추가합니다.


addItems( texts )

콤보박스에 여러 개의 항목을 추가합니다.


clear()

콤보박스의 전체 항목을 지웁니다.


connectCurrentIndexChanged( )

콤보박스에 선택된 항목 변경시 변경 이벤트를 수신 합니다.

int

count()

콤보박스 항목의 개수를 얻어옵니다.

variant

currentData()

현재 선택된 항목의 데이터 값을 읽어옵니다.

int

currentIndex()

콤보박스의 현재 선택한 항목의 번호를 얻어옵니다.

str

currentText()

콤보박스의 현재 선택한 항목의 문자열을 얻어옵니다.


insertItem( index, text , userData )

콤보박스에 항목을 삽입합니다.

variant

itemData( index )

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

str

itemText( index )

콤보박스 항목의 문자열을 얻어옵니다.


removeItem( index )

콤보박스의 항목을 지웁니다.


setCurrentIndex( index )

콤보박스의 표시 항목을 설정합니다.


setCurrentIndexByValue( value )

해당 값을 가진 항목을 찾아 선택합니다.


setCurrentText( text )

해당 문자열을 가진 항목을 찾아 선택합니다.


setItemData( index, userData )

선택한 항목에 사용자 데이터를 설정 합니다.


setItemText( index, text )

선택한 항목에 문자열을 변경 합니다.



 

 addItem( text , userData )


 addItem은 콤보박스에 항목을 추가 합니다. 추가시 해당 항목에 사용자 데이터를 설정할수 있습니다.


  • text: 콤보 박스에 추가할 문자열 입니다.
  • userData: 해당 항목에 설정할 데이터 입니다. userData가 필요 없는 경우 생략 가능 합니다.


입력된 항목은 0번째부터 순서대로 입력됩니다.

예)

#콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  


# 콤보 박스에 아이템을 추가 합니다.

obj.addItem('Fpward',1000);

obj.addItem('Reverse',1001);


결과)



 

 addItems( texts:문자열 리스트 )

 

 addItems는 콤보박스에 문자열 항목을 입력합니다.


  • texts는 문자열 리스트를 입력합니다.
  • 리스트 순서별로 0번째부터 항목을 입력합니다.

예)

 # 체크박스 개체를 얻어옵니다.

obj = canvas.getObject('CheckBox');

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  


 



 

 clear()

 

 clear는 콤보박스에 모든 항목을 지웁니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];  

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  

# 모든 항목을 지웁니다.

obj.clear();  


 



 

 connectCurrentIndexChanged  (  )

 

 콤보박스의 선택된 항목 변경시 변경 이벤트를 수신 받습니다. 이벤트 수신 함수의 형식은 아래와 같으며 함수 이름은 고정되어 있습니다.


def onCurrentIndexChanged (obj,index)


obj : 이벤트가 발생한 콤보 박스 입니다.

index : 현재 선택된 인덱스 입니다.

 예)

# 콤보 박스의 선택된 항목 변경시 수신할 이벤트 핸들러 입니다.

def onCurrentIndexChanged(obj,index):

    #handle index change event

    return


c = canvas.getObject('combo')

# 선택 항목 변경 이벤트 수신을 활성화 합니다.

c.connectCurrentIndexChanged()



 

 int count()

 

 count는 콤보박스의 전체 항목의 수를 반환합니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  

# value에 리스트 전체 항목의 수를 입력합니다.

value = obj.count();  

# value값을 출력합니다.

app.messageBox( value );  


 



 

 int currentIndex()

 

 currentIndex는 콤보박스의 선택한 항목(현재 화면에 보여지고 있는 항목)의 index번호를 얻어옵니다.


  • 콤보박스는 확장 버튼을 누르고 사용자가 선택한 항목을 표시합니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];  

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  

# value에 화면에 보여지는 항목의 index를 입력합니다.

value = obj.currentIndex();  

# value값을 출력합니다.

app.messageBox( value );  


 



 

 str currentText()

 

 currentText는 콤보박스의 선택한 항목(현재 화면에 보여지고 있는 항목)의 문자열을 얻어옵니다.


  • 콤보박스는 확장 버튼을 누르고 사용자가 선택한 항목을 표시합니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];  

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  

# value에 화면에 보여지는 항목의 문자열을 입력합니다.

value = obj.currentText();

# value값을 출력합니다.  

app.messageBox( value );  


 



 

 insertItem( index, text, userData )

 

insertItem은 콤보박스에 문자열 항목을 index위치에 삽입합니다.


  • index: 아이템을 삽입할 위치 입니다.
  • text: 콤보 박스에 추가할 문자열 입니다.
  • userData: 해당 항목에 설정할 데이터 입니다. userData가 필요 없는 경우 생략 가능 합니다.

예)

#콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  


#리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( ['1111', '2222', 'aaaa', 'bbbb'] );  


#2번째 항목(‘aaaa’)에 삽입합니다.

obj.insertItem( 2, '0000');




 

 variant itemData( index:항목 번호 )

 

 해당 항목에 해당하는 데이터 값을 읽어 옵니다. 항목에 데이터를 설정 하지 않은 경우 값을 읽어 오지 않습니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  


#3번 항목의 데이터 값을 읽어 옵니다

value = obj.itemData(3);  



 

 str itemText( index:항목 위치 )

 

 itemText는 콤보박스의 index에 위치한 항목의 문자열을 얻어옵니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];

# a 리스트를 입력합니다. 4개가 입력됩니다.  

obj.addItems( a );  

# value에 리스트 0번 index 항목의 문자열을 입력합니다.

value = obj.itemText(0);  

# value값을 출력합니다.

app.messageBox( value );  


 



 

 removeItem( index:입력위치(숫자) )

 

 removeItem은 콤보박스에 index위치의 항목을 지웁니다.


  • 지우고 난 뒤 기존의 index 이후의 항목은 -1씩 줄어듭니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];  

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  

# 2번째 항목(‘aaaa’)를 지웁니다.

obj.removeItem( 2 );  


 




 variant currentData()

 

 현재 선택된 항목의 데이터 값을 읽어 옵니다. 항목에 데이터를 설정 하지 않은 경우 값을 읽어 오지 않습니다.


예)

#콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  


#현재 선택된 항목의 데이터 값을 읽어 옵니다.

value = obj.currentData();





 setCurrentIndex( index:항목 위치 )

 

 setCurrentIndex는 콤보박스의 화면에 표시되는 항목을 index항목으로 표시되게 합니다.


  • 콤보박스는 setCurrentIndex를 따로 설정하지 않으면 처음 화면에 표현시에 0번 index의 항목이 표시됩니다.
  • 사용자가 콤보박스를 클릭하여 선택할 경우 선택한 항목이 표시됩니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];  

# a 리스트를 입력합니다. 4개가 입력됩니다.

obj.addItems( a );  

# 화면 표시시 1번 항목을 보여줍니다.

obj.setCurrentIndex(1);  


 



 

 setCurrentIndexByValue( value:데이터 값 )

 

 해당 값을 가진 항목을 찾아 선택합니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  


#32 값을 가진 항목을 선택 합니다

value = obj.setCurrentIndexByValue(32);  



 

 setCurrentText( text )

 

 해당 문자열을 가진 항목을 찾아 선택합니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  


#Apple 항목을 찾아 선택 합니다

value = obj.setCurrentText('Apple');  




 

 setItemText( index:입력위치(숫자), text:문자열 )

 

 setItemText 은 콤보박스에 index위치의 문자열 항목을 text로 변경합니다.


  • index는 위에서 0으로 시작합니다.
  • text는 문자열을 입력합니다.


 예)

# 콤보박스 개체를 얻어옵니다.

obj = canvas.getObject('ComboBox');  

# a에 리스트 형식으로 항목을 입력합니다.

a = ['1111', '2222', 'aaaa', 'bbbb'];

# a 리스트를 입력합니다. 4개가 입력됩니다.  

obj.addItems( a );  

# 2번째 항목(‘aaaa’)이 0000으로 변경됩니다.

obj.setItemText( 2, '0000');