Labels dynamisch zur Laufzeit erstellen

  • Hallo


    Ich habe derzeit in einem Skin-Screen über 12 Widgets, die ich alle im Plugin-Code mit self["labelXX] = Label("") aufrufe und später entsprechende Inhalte zuweise.


    Könnte ich im Code die Labels auch dynamisch als Kopie eines Muster-Labels erstellen?
    (mit allen Eigenschaften, die im widget im Skin verpasst wurden)
    Ich müsste die Labels dann nur neu positionieren.


    Dann könnte man sich erstens die Definition der vielen Widgets im Skin ersparen und wäre flexibel, was die Anzahl der Labels angeht, weil die je nach Nutzer durchaus variieren kann.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Ist zwar schon ne Weile her als ich die Frage gestellt habe, da ich mich aber aktuell wieder damit beschäftigt habe, wollte ich zumindest meine Lösung mitteilen :winking_face:


    Mit folgenden Zeilen kann man zur Laufzeit aus einem Screen heraus ein funktionierendes/sichtbares Label erstellen, was es im Skin-Screen gar nicht gibt.

    Python
    self["liveLabel"] = Label()
    self["liveLabel"].GUIcreate(self.instance)

    Das Label kann man dann entsprechend konfigurieren (Farbe, Größe, Form …) oder die Vorgaben von einem anderen im Skin-Screen vorhandenen Label kopieren.


    Hab einfach mal ein Beispiel-Plugin angehängt, wo das ganze gleich getestet werden kann.

    Ist für andere vielleicht ganz hilfreich, wenn man ein funktionierendes Beispiel-Plugin an die Hand bekommt :winking_face:


    Falls da am Code irgendwas noch nicht passen sollte, bin ich natürlich für Hinweise dankbar.

  • Sven H

    Hat das Label [gelöst] hinzugefügt.