3 Stimmen

Tkinter ändert dynamisch die Textfarbe von wiederkehrenden Zeichenfolgen in einem Textfeld

Ich habe ein Tkinter-Textfeld eingestellt, um den Inhalt einer Datei anzuzeigen. Ein Beispiel Zeile, von denen wäre wie folgt sein:

SUCCESS - Downloaded example.jpg
File was 13KB in size

Ich möchte, dass jede Zeile, die das Wort "ERFOLG" enthält, eine blaue Textfarbe erhält. Bitte beachten Sie, dass dies dynamisch sein muss, da dieses Wort Hunderte von Malen in einer Datei vorkommen könnte und es keine Möglichkeit gibt, vorherzusagen, wo es vorkommt. Dies ist der Code, den ich verwende, um den Inhalt der Datei in das Textfeld auszugeben. Das funktioniert gut.

log = open(logFile, 'r')
while 1:
    line = log.readline()
    if len(line) == 0:
        break
    else:
        self.txtLog.insert(Tkinter.END, line)
        self.txtLog.insert(Tkinter.END, os.linesep)
log.close()

Ich versuche, tag_add und tag_config wie in den Beispielzeilen unten zu verwenden, aber ohne Erfolg.

 `self.txtLog.tag_add("success", "1.0", "1.8")
  self.txtLog.tag_config("success", foreground="blue")`

`

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X