我正在开发BlackBerry 10中的一个Calculator应用程序,为此我使用switch case来获取按钮ID,但我不知道如何在switch case中获取按钮的ID。
例如:
switch(?){
case button_addition:
case button_minus:
case button_multiplication:
case button_division:
}
其中button_addition
,button_minus
,button_multiplication
和button_division
是按钮的ID。
如何获取这些按钮的ID?
答案 0 :(得分:1)
我不确定你是否可以获得这样的ID,我建议你在按钮中定义自定义属性,并在按钮点击事件上传递它。然后,您可以使用该属性来识别事件。
喜欢以下
Button{
id: button_Addidtion
property var customId: 1 // for addition
onClick:{
handleOperation(customId);
}
}
function handleOperation(id) {
switch(id) {
case 1://addition
break;
}
}
如果你不想定义自定义属性,那么你可以使用objectName属性来识别按钮,我不确定你是否可以使用带有JS的开关字符串。
答案 1 :(得分:0)
我建议您查看包含按钮的容器。在许多窗口系统中,容器具有“for each”方法,您可以在其中提供对每个按钮进行操作的功能。
或者按下(或单击)按钮时,请检查消息。许多窗口消息包含发送消息的窗口小部件的ID。
答案 2 :(得分:0)
在QML中很容易,你可以创建一个JS函数,它将点击的按钮ID作为输入参数,并根据该参数进行切换。您需要调用此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");
}
}
等