工具/软件:
大家好
是否可以通过 GUI Composer 在线设置两个参数?
例如、
使用输入组件值设置“gUserParams.motor_numPolePairs"和“和“polepair"。“。
现在我使用两个输入元件、想使用一个元件。
还是应该使用其他元件?
谢谢你
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
大家好
是否可以通过 GUI Composer 在线设置两个参数?
例如、
使用输入组件值设置“gUserParams.motor_numPolePairs"和“和“polepair"。“。
现在我使用两个输入元件、想使用一个元件。
还是应该使用其他元件?
谢谢你
如果我理解正确、您正尝试使用单个 GUI 控件来控制目标端的两个变量、以确保它们同步。
不支持通过单个小部件的属性以图形方式配置此配置。
但是、您可以尝试以编程方式绑定到您的小部件。 (注意:您只能通过 GUI/属性页配置一种绑定类型... 这是您包含的图片)或通过 javascript 编程。 如果你有两个,那么你很可能会看到对值的副作用.
总之,您需要在注释块标题之后打开 index.js 并取消注释功能
/*-----
用于数据绑定的样板代码
取消注释该块、以及函数签名和 wiatformodel 调用。 你需要保持小部件的原样,但你的 targetmodelID 将需要更改,以匹配你的程序模型(我不能从你的图片制作完整的模型 ID,但是你的左侧绑定,看起来像“program_i"</s>“
在以下示例中、代码有两个函数 getter(从目标获取数据并将其发送到小工具时)当用户更改小工具时、setter 会反向执行转换。 他们正在做一个简单的值从摄氏到华氏度的转换。
在您的情况下、您不会执行任何值更改、但您需要添加附加代码来获取对模型的引用、然后获取第二个变量的绑定、然后将其设置为相同的值。
// bindingRegistry.bind ('widget.id.propertyName'、'targetModelId.targetVariable'、
// value =>{ return value*5/9+32;}、/* getter */
// value =>{ return (value-32)*9/5;}/* setter */
//);
因此、代码是类似的。
bindingRegistry.bind ('widget.input_Scale_10.value'、'program_i.polepair '、
值=>{
let gVarsBinding = bindingRegistry.getModel ('program_i').getBinding ('gUserParams.motor_numPolePairs');
gVarsBinding.setValue(value); //this 和上面一行将绑定到第二个变量并将其设置为相同的值。
返回值;//我们仍然要设置实际的输入小工具值。
}、/* getter */
value =>{ return (value-32)*9/5;}/* setter */
);
Martin
您好 Martin
感谢您的答复
我使用您的建议、请参阅以下内容。
是否有任何问题、“gUserParams.motor_numPolePairs"更改“更改、但“polepair" 不“不会更改。
Hallay
----------------------------
bindingRegistry.bind ('widget.input_Scale_1.value'、“program_bldc.gUserParams.motor_numPolePairs",“,</s>、
值=>{
let gVarsBinding = bindingRegistry.getModel ('program_bldc').getBinding ('polepair ');
gVarsBinding.setValue(value);
返回值;
}、
Value => Value
);
------------------------------------