2016-04-18 24 views
0

Zur Zeit zeige ich eine Reihe von benutzerdefinierten GUI-Komponenten (Templates) (geben Sie ihr einen Namen: Signal) in einigen meiner Hauptfenster. Diese GUI-Komponenten sind über die Fenster verteilt und sind ziemlich zahlreich (> 50 pro Fenster) und ich habe mehrere solcher Fenster.Display-GUI-Komponente In Ignition dynamisch mit Python/Jython Script

enter image description here

ich all diese Fenster erstellt haben Ignition GUI und so weit sie fertig sind ... aber ... Nun, es ist eine Voraussetzung, um unabhängig von Signal im GUI-Fenster angezeigt werden angezeigt in einer Liste von GUI.

enter image description here

Meine Fragen sind:

  1. Wie Liste der GUI-Komponente (Template) des gleichen Typs erhalten (Signal) mit Ignition Python/Jython Script?
  2. So erhalten Sie benutzerdefinierte Eigenschaften (z. B. customDisplayName)
  3. Wie zeichnen Sie die GUI-Komponente (Vorlage) dynamisch?

Ab sofort ist es möglich, für mich in der Containerliste per Drag & Drop-Komponenten (exakte Kopie der angezeigten Signale machen) Ich verwende die Signal Vorlage anzuzeigen. Aber da es möglich ist, dass das neue Signal in der GUI hinzugefügt wird, suche ich nach einer automatisierten Lösung (falls es welche gibt).

Antwort

1

Ignition unterstützt Erhalt der GUI-Komponenten von .components von der Containertyp-Komponente mit Jython Skript.

Also am Ende, die Umsetzung meiner Lösung für diese Frage war:

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