![]() ![]() ![]() |
▪你可以在 MG-Picker工作室问&答版块 上面问问题。 ▪Q: 如何避免硬写Picker对象的id? 要获取当前正编辑或互动的Picker对象的id, 比如你在编写一个命令按钮的命令,要获取这个命令按钮的id (下面是MEL代码,Python方式类似): string $currentCmdBtn = `MGPicker -q -currentItem`;
要获取其它特定的按钮id, 仍然最好避免id硬写。因为id会被确保在一个picker里面是唯一的,所以当一个按钮被复制粘贴到其它picker,它的按钮id很可能不一样。这样就有可能导致一些代码无法使用。为了让这些代码更健壮通用,可以试着用名字属性来获取这些id。 对于每一个picker对象,都可以设置一个名字属性。这个属性是允许重复的,所以即使你复制粘贴按钮到不同picker, 这些名字属性值也不会变化。这样你就可以用这个名字作为标识, 来获取id。比如说你的按钮的名字设置为"targetButton", 这样有这个picker的任意位置您都可以使用下面mel代码来获取其id(python方式类似): string $IDs[] =`MGPickerView -q -getIdFromName "targetButton"`; 它将返回所有名字为"targetButton"的picker对象的id数组。 如果你只有一个对象名字叫"targetButton",它仍将返回一个只包含一个id的数组,你之后可以使用$IDs[0]来作为该对象的id.
▪怎样遍历picker里所有的Picker对象? 如果您想获取当前picker里所有的选择按钮: string $selectButtons[] = `MGPickerView -q -list "selectButton"`; 要列出所有类型的picker对象: string $selectButtons[] = `MGPickerView -q -list ""`; 要列出所有类型的连接: string $allLinks[] = `MGPickerView -q -listLinks ""`; 要了解更多,请查询MGPicker命令参考。
▪怎么查询或编辑Picker视图的信息,而不用激活它? 从1.6版本开始,你可以通过: string $currentViewId = `MGPicker -q -currentPickerView`; //这个currentPickerView只有在执行如picker加载后命令或鼠标进入命令期间才会被设置。 // 有了这个视图id,你就可以用这个新命令来编辑,查询: MGPickerView -q/-e ..$currentViewId; |
![]() ![]() ![]() |