使用Python / Jython脚本动态显示GUI组件

时间:2016-04-18 02:32:03

标签: python jython scada ignition scada-ignition

目前,我在一些主窗口中展示了许多用户定义的GUI组件(模板)(让它命名: signal )。这些GUI组件分布在窗口周围,数量非常多(每个窗口大于50个),我有多个这样的窗口。

enter image description here

我已经使用Ignition GUI创建了所有这些窗口,到目前为止它们已经完成......但是......现在,需要在GUI窗口中显示任何显示在GUI列表中的信号。

enter image description here

我的问题是:

  1. 如何使用Ignition Python/Jython脚本获取相同类型(信号)的GUI组件(模板)列表?
  2. 如何获取其自定义属性(例如customDisplayName
  3. 如何动态绘制GUI组件(模板)?
  4. 截至目前,我可以在我用来显示信号的容器列表中拖放组件(精确复制显示的信号)模板。但由于可以在GUI中添加新的信号,我正在寻找更自动化的解决方案(如果有的话)。

1 个答案:

答案 0 :(得分:2)

Ignition支持使用.components脚本从容器类型组件中Jython获取GUI组件。

所以最后,我对这个问题的解决方案的实施是:

for comp in rootcontainer.components: #looping through every component in the root container
    if 'MySignal' in comp.name: #check the name of the component, see if it matches
        #do the logic here