当布局变化依赖多个输入、多个模板值或复杂条件组合时,脚本通常比堆叠大量几何参数更清晰。联动多个对象一起变化时,qtedit.setComponentLayout() 会更直接。
文档手册
脚本方式改布局:直接调用 qtedit.setComponentLayout() | HQ VISU Designer
如果目标位置或目标尺寸已经明确,且这种变化难以通过固定几何行为表达,可以使用脚本直接调整布局。
脚本方式改布局:直接调用 qtedit.setComponentLayout()
如果目标位置或目标尺寸已经明确,且这种变化难以通过固定几何行为表达,可以使用脚本直接调整布局。
拖动结果回写、对象成组平移、根据用户输入重新布置面板、根据模板值动态调整弹窗位置,这些都适合脚本方式。
先取当前组件数据,再按业务规则计算新位置,最后回写需要调整的字段。这样脚本逻辑更容易理解。
var data = qtedit.getComponentData("Rectangle 1");
if (data) {
qtedit.setComponentLayout("Rectangle 1", {
x: data.x + data.width * 2,
y: data.y,
angle: data.rotation || 0
});
}
输入范围映射到几何范围时,先把逻辑想清楚,再决定用几何行为还是脚本布局。