[Gelöst] Bug? in Label.getSize()?

  • Hi.


    wenn ich in


    PHP
    __init__():
     self["playstate"]=Label()


    setze, un dann später die Position auslesen will, mit


    PHP
    x_offset=self['playstate'].getSize()


    ist das Ergebnis immer


    PHP
    2015.05.09-08:14:37.906516 Player]__startRun]Radiomode: getSize playstate->(-1, -1)


    Mit anderen GuiComponents funktioniert es. Oder mache ich einen Fehler?

    PHP
    x,y=self['playstate'].getPosition()


    gibt mir

    PHP
    2015.05.09-08:14:37.906516 Player]__startRun]Radiomode: getPosition  x->435 y->1042

    also passt...


    MfG.

    Die meisten Probleme macht man sich selber!

    2 Mal editiert, zuletzt von Bobo71 ()

    • Offizieller Beitrag

    Definiere mal später?
    Wenn man das direkt im __init__ macht ist das völlig normal!


    Die Size der GUI Components ist frühestens in onFirstExecBegin verfügbar. Vorher sind die GUI-Elemente noch nicht fertig initialisiert.
    Also sowas in der Art z.B.

    Python
    def __init__(self, session)
        ...
        self.onFirstExecBegin.append(self._someSizeTestingMethod)
    ...
    def _someSizeTestingMethod(self):
        ...

    mfg ,
    Reichi

  • Hallo reichi,


    gleiches Ergebnis, wieder -1 -1 ! :frowning_face:

    PHP
    2015.05.09-11:22:16.041420 Player]_someSizeTestingMethod]Radiomode: move playstate->(-1, -1) x->434 y->1042)


    Ich hatte es vorherin der layoutFinishappend() gemacht.

    Die meisten Probleme macht man sich selber!

  • Lösung...


    PHP
    self["playstate"]=Label("0:00:00|0:00:00")


    statt

    PHP
    self["playstate"]=Label()



    es muss wohl das Label gesetzt sein, und nicht nur init... :kissing_face:

    Die meisten Probleme macht man sich selber!