2013-08-20 4 views
0

BlackBerry 10에서 하나의 계산기 앱을 개발 중이며 버튼 ID를 얻기 위해 스위치 케이스를 사용하고 있지만 스위치 케이스에 버튼 ID를 얻는 방법을 모르겠습니다. 예를 들어BlackBerry 10 개발 스위치 케이스

: button_addition, button_minus, button_multiplicationbutton_division이 버튼의 ID 년대 있습니다

switch(?){          
    case button_addition: 

    case button_minus: 

    case button_multiplication: 

    case button_division:          
} 

.

이 버튼의 ID는 어떻게 얻습니까?

답변

0

버튼이 들어있는 컨테이너를 들여다 보시는 것이 좋습니다. 많은 윈도우 시스템에서 컨테이너에는 각 버튼에서 작동하는 함수를 제공 할 수있는 "for each"메서드가 있습니다.

단추를 누르거나 클릭하면 메시지를 확인하십시오. 많은 창 메시지에는 메시지를 보낸 위젯의 ID가 들어 있습니다.

1

ID를 얻을 수 있는지 확실하지 않지만 버튼에 맞춤 속성을 정의하고 버튼 클릭 이벤트에 전달할 것을 제안 할 수 있습니다. 그런 다음 해당 속성을 사용하여 이벤트를 식별 할 수 있습니다. 당신은 어쩌면 버튼을 식별하는 개체 이름 속성을 사용할 수있는 사용자 정의 속성을 정의하지 않으려면

Button{ 
    id: button_Addidtion 
    property var customId: 1 // for addition 
    onClick:{ 
     handleOperation(customId); 
    } 
} 

function handleOperation(id) { 
    switch(id) { 
     case 1://addition 
     break; 
    } 
} 

을 다음과 같이

, 난 당신이 JS와 스위치를 사용하여 문자열을 사용할 수 있는지 모르겠습니다.

+0

QObject를 :: 보낸 사람()'',하는 것입니다 슬롯을 트리거 한 시그널을 방출 한''QObject' '에 대한 포인터를 리턴한다. 그래서 당신은 당신이 원하는 모든것과 비교할 수 있습니다. –

+0

Hey thanx to all .. 프로그램이 지금 실행 중입니다. –

0

QML에서 쉽게 입력 매개 변수로 클릭 한 버튼 ID를 가져와 해당 매개 변수를 기반으로 스위치 케이스를 수행하는 JS 함수를 만들 수 있습니다. 이 JS 함수를 호출하고 버튼 클릭 신호에서 버튼 ID를 전달해야합니다.

function handleMultiButton(buttonID) { 
    switch(buttonID) { 
     case "button_Addidtion": //Do Something 
     break; 
     case "button_division": //Do Something 
     break; 
    } 
} 

Button{ 
    id: button_Addidtion 
    onClick:{ 
     handleMultiButton("button_Addidtion"); 
    } 
} 

Button{ 
    id: button_division 
    onClick:{ 
     handleMultiButton("button_division"); 
    } 
} 

``당신은 QML에서 사용할 수 있을지는 모르겠지만, C++에서 모든 Qt를 슬롯에, 당신이 호출 할 수 있습니다
+0

qml에 없기 때문에, 나는 cpp에서 원했고, nyways 프로그램은 지금 실행 중이다 .. –