wechselnde Schriftart/-typ im Label

  • Hallo


    Beim Wechsel der Selection in einer eListbox (EPGList) setze ich mit .SetText("xyz") den Inhalt der Beschriftung für key_green (Label) jeweils neu.
    ("Timer hinzufügen" bzw. "Timer löschen")


    Allerdings ändert sich bei bestimmten Konstellationen die Schriftart/-typ dieses Feldes.
    (meist beim Wechsel vom vorletzten rechten Element der aktuellen Zeile zum letzten rechten Element der Page).


    Mal ist die Schrift ganz normal, dann beim Wechsel der Selection nach rechts, oben oder unten ist die Schrift für das key_green-Label plötzlich etwas fetter und manchmal richtig fett (scheint da 3 Stufen zu geben).


    Im Skin ist für das Label aber eine feste Schrift Regular, 22 festgelegt.
    In Code wird auch nirgends eine Änderung des fonts vorgenommen.


    Habt ihr einen Tipp, was diese Änderung der Schrift (fetter) in einen Label bei .setText() bewirkt?


    Ist jetzt nicht wirklich schlimm, sieht nur komisch aus :face_with_tongue:

    Gruß Sven (aka Dreamy)


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

  • da wird wohl die textpositionierung einen rundungsfehler haben und mal ein puxel mehr oder rauskommen

  • Kann ich das beeinflussen oder liegt das an Enigma?


    Sieht manchmal so aus, als wenn der Text doppelt ist und leicht versetzt übereinanderliegt.
    Die Schrift wirkt dann etwas vermanscht (könnte auch fett sein).

    Gruß Sven (aka Dreamy)


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

  • im Bugreport Thread vom e2 schreiben, DMM hat daran gebastelt und da sind halt Sachen noch nicht perfekt ... mehr als schlechtes Gewissen machen wird da nicht drinnen sein, weil die routinen ja im closed source Teil vom e2 binary sind.

  • Ja, sie haben an den Listen gearbeitet.
    Soll das aber Auswirkungen auf den Text des Labels zur Beschriftung des grünen Buttons haben ?


    Ist doch gar nicht Bestandteil der Liste.

    Gruß Sven (aka Dreamy)


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

  • So, hier die Screenshots.


    1. Normaler Text bei "Timer setzen"
    2. "Fetter" Text bei "Timer setzen"
    3. "Fetter Text bei "Entferne Timer" und normaler Text bei "Timer bearbeiten" (obwohl dabei beide Inhalte der Labels im Code mit .setText() neu geschrieben wurden)


    Und das nur beim Wechsel des ausgewählten EPG-Eintrages mit rechts,links,hoch,runter.

    Gruß Sven (aka Dreamy)


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

    Einmal editiert, zuletzt von Sven H ()

  • Was auffällt ist das "Timer Entfernen" scheinbar ein anderens backgroundColor hat.
    in die Richtung solltest du mal ermitteln. Entweder im Skin oder in der .py


    .. und du hast da auch selber Hand angelegt , wiel Primie Time ist zB. normalerweise auf gelb

    DM 920 UHD sss :smiling_face_with_heart_eyes:

    Einmal editiert, zuletzt von arki ()

  • Ja, das ist ein von mir für OE2.5 angepasster MultiEPG-Vali-Mod, der ursprünglich nur bis OE2.0 funktionierte.


    Nein, andere Farben gibt es da nicht. Ich ändere lediglich die Farben für die aktuelle Auswahl in der EPGliste beim Wechsel von einem Nicht-Timer-Eintrag auf einen Timer-Eintrag und umgekehrt.


    So sind alle Farb-Button Beschriftungen im Skin gleich festgelegt.
    Deshalb verstehe ich nicht, wieso es da beim Wechsel des EPG-Eintrages plötzlich eine andere Schrift gibt (also fett oder was auch immer das sein soll) - und vor allem nur bei der Beschriftung für Grün.


    XML
    <widget font="Regular;22" foregroundColor="#00f4f4f4" halign="left" name="key_red" position="180,672" size="200,30" transparent="1" />
    <widget font="Regular;22" foregroundColor="#00f4f4f4" halign="left" name="key_green" position="380,672" size="200,30" transparent="1" />
    <widget font="Regular;22" foregroundColor="#00f4f4f4" halign="left" name="key_yellow" position="625,672" size="200,30" transparent="1" />
    <widget font="Regular;22" foregroundColor="#00f4f4f4" halign="left" name="key_blue" position="860,672" size="200,30" transparent="1" />


    und das ist der Code in der .py, um den Text der Beschriftung zu ändern:

    Gruß Sven (aka Dreamy)


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

  • Ich könnte wetten wenn du .. foregroundColor= ... raus nimmst und dafür backgroundColor="farbe vom screen Hintergrund" enfügst


    sieht es bestimmt besser ( nicht mehr so Fett ) aus

    DM 920 UHD sss :smiling_face_with_heart_eyes:

  • Der Screen hat keinen Eintrag für BackgroundColor.

    XML
    <screen name="MultiEPG_MV_New" flags="wfNoBorder" position="0,0" size="1280,720" title="MultiEPG Vali-Mod">

    Und wenn ich die foregroundColor rausnehme, ist der Unterschied zu dem "fetten" Text noch deutlicher zu erkennen.


    Was ich nur nicht begreife, ist die Tatsache, warum der fette Text nur beim grünen Butten kommt, obwohl zur gleichen Zeit auch der Text für den gelben Button neu geschrieben wird.
    Hab schon mal die Reihenfolge geändert und ein komplett zusätzliches widget mit anderem Namen angelegt für den grünen Button-Text.
    Das hat aber alles nichts geändert- es kommt immer wieder der fette Text beim grünen Button, wenn ich die Auswahl in der EPG-Liste ändere.

    Gruß Sven (aka Dreamy)


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

  • Damit hat es alles gar nichts zu tun. :smiling_face:


    Es liegt am Namen des Widgets :face_with_tongue:
    Wenn da im Namen "green" enthalten ist, passiert es immer wieder.
    (hatte mit "key_green" und "green_txt" als zusätzliches Widget getestet).


    Nun heißt das widget "test_txt" und da kommt kein fetter Text.


    Muss doch irgendwo im e2-Code was drin sein, was nur bei "green" im Widget-Namen reagiert :smiling_face:


    Nachtrag:


    Hab jetzt nochmal ein zuätzliches Widget "green" angelegt und den Text für dieses parallel zum "test_txt" neu geschrieben.
    Während der Text im Feld "test_txt" normal angezeigt wird, kommt beim Feld "green" wieder "fetter" Text.


    Ich denke, damit ist es bewiesen :smiling_face:
    (e2 macht bei widgets mit "green" im Namen irgendwas komisches)

    Gruß Sven (aka Dreamy)


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

    4 Mal editiert, zuletzt von Sven H ()

  • gut möglich. Ist ja aber auch nur bei bestimmten Wechseln der Auswahl in der EPG-Liste.


    Ich hab es ja auch nur gemerkt, weil ich den Skin ausgerichtet habe.
    Dabei fiel mir das dann bei den Texten auf, als die dranwaren bezüglich des Ausrichtens (Pos + Size).
    Da musste ich dann im EPG wandern, um die Texte unten zu ändern, um zu sehen, ob Pos. und Breite bei beiden Texten passt.

    Gruß Sven (aka Dreamy)


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

  • Ich habe nochmal etwas rumgespielt.


    Es liegt irgendwie doch am fehlenden "backgroundColor" im Widget für die key_Labels mit "green" im Namen.
    Setze ich dort eine backgroundColor, kommt es nicht zu diesen Problemen.


    Irgendwie scheint da e2 bei bestimmten Wechsel der Auswahl der EPG-Liste die BackgroundColor des Labels anhand der selectColor des ausgewählten EPG-List-Feldes zu ändern, wenn das key-Label selbst keinen Hintergrund hat.
    In Verbindung mit Transparent sieht man es dann nur direkt um die Schrift herum, was dann wie fett aussieht.
    Deshalb hast du vorhin ja auch gemeint, dass da eine andere Backgroundcolor zu sein scheint, obwohl ich gar keine angegeben hatte.
    Das war aber die Farbe aus dem selektierten EPG-Feld.


    Warum das aber nur bei Labels mit "green" im Namen passiert, ist mir dennoch ein Rätsel. :face_with_tongue:
    Alle anderen key-Labels benötigen in Bezug auf dieses komische Verhalten nicht zwingend eine BackgroundColor.

    Gruß Sven (aka Dreamy)


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

    Einmal editiert, zuletzt von Sven H ()

    • Offizieller Beitrag

    Das Attribut backgroundColor wird für Anti-Aliasing benötigt. Gibt man keine oder die falsche an kann sich das Schriftbild recht schnell negativ entwicklen.
    Wenn die Grafik auf der das Label liegt "rot" ist muss man dem Label selbst auch "rot" als Hintergrund geben (durch transparent="1" wird diese Farbe dann nur für das anti aliasing benutzt) und zwar eins das möglichst nah an dem der pixmap dahinter ist, sonst wird's fransig oder es entstehen sehr unschöne Effekte wie der den du beobachtet hast.


    Du hast für alle Label 00f4f4f4 als Hintergrundfarbe (also fast-weiß), das ist an der Stelle nicht richtig und dein eigentliches Problem ;).

  • @Reichi


    Die Farbe 00f4f4f4 ist die foregroundColor-Farbe (Textfarbe) der Labels.
    Eine BackgroundColor hatten alle nicht.


    Komisch ist nur, dass das Problem ja nur bei Labels mit dem Text "green" im widget-Namen (z.B. "key_green") auftritt.


    Die BackgroundColor bekommt dieses Label dann plötzlich von der aktuellen SelectionColor der EPG-List. (in den Screenshots eben "lachs" oder "weiß")


    Die anderen Labels sind davon komischerweise nicht betroffen, obwohl sie zeitgleich mit dem key_green neuen Text bekommen.


    Wie gesagt, wenn ich den Labels eine feste Backgroundcolor zuweise, passiert das nicht und ist damit für mich umgehbar.


    Fraglich ist eben nur, warum das nur Labels betrifft, die ein "green" im Widget-Name haben.

    Gruß Sven (aka Dreamy)


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

    2 Mal editiert, zuletzt von Sven H ()


  • Wenn die Grafik auf der das Label liegt "rot" ist muss man dem Label selbst auch "rot" als Hintergrund geben (durch transparent="1" wird diese Farbe dann nur für das anti aliasing benutzt)

    ja ja, transparent="1" ist bequem, muss man sich um die Hintergrundfarbe nicht kümmern, ich habe im Skin was ich verwende überall transparent="1" weggemacht, Nachteil, man muss überall backgroundColor mit angeben, transparent="1" benutze ich wenn es anders nicht geht oder um besonderen Effekt zu erzielen, bei Texten würde ich das weglassen, die Textdarstellung ist dann immer top.