Hallo,
ich möchte wissen, ob es möglich die Textfarbe eines Labels nur teilweise zu ändern.
Also so, dass die eine hälfte z.B. eine andere Farbe hat als die andere.
LG Der_Scripter
Tkinter Label Textfarbe ändern
-
- User
- Beiträge: 26
- Registriert: Sonntag 1. September 2019, 15:32
Python ist Cool!
Hallo Du - Der_Scripter,
probier's doch so:
Gruss
Peter
probier's doch so:
Code: Alles auswählen
import tkinter as tk
def text_in_farben(text):
root = tk.Tk()
anzahl_zeichen = len(text)
for position, zeichen in enumerate(text):
if position % 4 == 0:
farbe = 'red'
elif position % 4 == 1:
farbe = 'blue'
elif position % 4 == 2:
farbe = 'green'
else:
farbe = 'black'
tk.Label(root, text=zeichen, fg=farbe, padx=0, bd=0).pack(side='left')
root.mainloop()
if __name__ == "__main__":
text_in_farben(text='Mein nicht so schöner Text in Farbe')
Peter
Die Textfarbe EINES Labels zu ändern geht nicht. Du kannst es wie von peterpy beschrieben machen, also so dass jeder Buchstabe ein einzelnes Label ist oder du benutzt ein Text Widget oder machst das mit Canvas mit Text.
-
- User
- Beiträge: 26
- Registriert: Sonntag 1. September 2019, 15:32
Hallo nochmal,
ich werde es wahrscheinlich so wie @peterpy machen, das Problem ist nur, dass ich meine Labels nicht "packe" sondern "place"...
Wie kann ich das x-Offset bei jedem einzelnen Buchstaben bekommen?
Bestenfalls auch in einer anderen Schriftfarbe...
Wenn nicht muss ich das offset händisch einprogrammieren
LG Der_Scripter
ich werde es wahrscheinlich so wie @peterpy machen, das Problem ist nur, dass ich meine Labels nicht "packe" sondern "place"...
Wie kann ich das x-Offset bei jedem einzelnen Buchstaben bekommen?
Bestenfalls auch in einer anderen Schriftfarbe...
Wenn nicht muss ich das offset händisch einprogrammieren
LG Der_Scripter
Python ist Cool!
- __blackjack__
- User
- Beiträge: 13123
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Der_Scripter: Verwende kein `place()`. Warum das keine gute Idee ist, merkst Du gerade.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 26
- Registriert: Sonntag 1. September 2019, 15:32
Hallo,
ich kann mir nicht vorstellen ein schick aussehendes Layout mit .pack() zu erstellen.
Da schlage ich mich lieber durch Font files.
Wie kann ich dieses Layout mit .pack() erreichen?
(https://ibb.co/KDTzYsz)
LG Luca
ich kann mir nicht vorstellen ein schick aussehendes Layout mit .pack() zu erstellen.
Da schlage ich mich lieber durch Font files.
Wie kann ich dieses Layout mit .pack() erreichen?
(https://ibb.co/KDTzYsz)
LG Luca
Python ist Cool!
- __blackjack__
- User
- Beiträge: 13123
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Der_Scripter: Man kann mit `place()` nicht sinnvoll arbeiten. Du solltest da besser an Deiner Vorstellungskraft arbeiten. Und das Layout auf dem Bild scheint jetzt nicht wirklich schwer zu sein. Label die vertikal gepackt sind und unten ein Frame der Eingabefeld und Schaltfläche enthält.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman