Das ist, was ich passieren möchte: Der Benutzer wählt eine Schaltfläche basierend auf welche Farbe sie möchten. Dann klicken sie auf das Wort, das sie in dieser Farbe hervorheben möchten und so weiter.
Dies ist, was passiert: Der Benutzer wählt eine Farbe und alle vorherigen Wörter werden auf die Farbe geändert, obwohl ich die Farbe, die es zuvor war.
Unten ist der Code, der hervorhebt. Die Variable Suche hat den Text inPython tkinter- Hervorhebung mehrerer Farben
def _on_click(self, event):
if "highlight" in tags:
#Unhighlights
ArticleTextBox.tag_remove("highlight", "insert wordstart", "insert wordend")
wordclicked=ArticleTextBox.get("insert wordstart", "insert wordend")
SearchLEN=len(Search)
for x in range(0,SearchLEN):
if Search[x]==wordclicked:
#global Search # Needed to modify global copy of globvar
Search.remove(wordclicked)
else:
#highlights
ArticleTextBox.tag_add("highlight", "insert wordstart", "insert wordend")
wordclicked=ArticleTextBox.get("insert wordstart", "insert wordend")
#global Search # Needed to modify global copy of globvar
Search.append(wordclicked)
#print(Search)
Und dies ist der Code für die Auswahl der Farbe
#Colour picker
def sel(self):
selection = "You selected the option " + str(var.get())
colournumber=(var.get())
if colournumber==2:
ArticleTextBox.tag_config('highlight', background='yellow', foreground='black')
elif colournumber==3:
#print("Sorry this is not working at the moment- Please go back to name selection before you click the button")
ArticleTextBox.tag_config('highlight', background='blue', foreground='black')
else:
ArticleTextBox.tag_config('highlight', background='yellow', foreground='black')
Wie immer werden Fragen dankbar empfangen und beantwortet werden. Happy Xmas
statt eines Tags 'highlight' verwenden Sie verschiedene Tags mit dem Farbnamen' tag_add ('highlight_red', ...) 'und dann müssen Sie jedem Tag nur einmal - beim Start - Farbe zuweisen. – furas