Отображение компонента GUI В Ignition динамически с использованием Python/Jython Script
В настоящее время я показываю несколько определенных пользователем компонентов GUI (шаблонов) (давайте назовем его name: signal) в некоторых из моих основных окон. Эти компоненты графического интерфейса распространены вокруг окон и их довольно много (>50 на окно), и у меня есть несколько таких окон.
Я создал все эти окна, используя Ignition GUI, и пока они сделаны... но... Теперь есть требование, чтобы любой сигнал, отображаемый в окне GUI, отображался в списке GUI.
Мои вопросы:
- Как получить список GUI-компонента (шаблона) того же типа (сигнала), используя
Ignition Python/Jython
Сценарий? - Как получить его пользовательские свойства (такие как
customDisplayName
) - Как нарисовать GUI компонент (шаблон) динамически?
На данный момент я могу перетаскивать компоненты (делая точную копию отображаемых сигналов) в списке контейнеров, который я использую для отображения шаблона сигнала. Но так как возможно добавление нового сигнала в GUI, я ищу более автоматизированное решение (если оно есть).
1 ответ
Ignition
поддерживает получение компонентов графического интерфейса .components
из компонента типа контейнера с помощью Jython
скрипт.
Итак, в конце концов, реализация моего решения для этого вопроса была:
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