Tkinter: Hintergrundfarbe eines Buttons bei Drücken ändern?
Hallo.
Ich habe ein Quiz mit tkinter programmiert. Als Antwortmöglichkeiten gibt es immer 4 Buttons. Mein Problem ist jetzt, dass, wenn ich den Knopf drücke, sich die Farbe des Hintergrundes in rot oder grün verändern soll. Das tut es aber nicht. Der untere Teil befindet sich in einer Klasse (die ich da jetzt nicht hinschreibe):
Hier ein Teil von meinem Code:
import random
from tkinter import *
window = Tk()
window.title("Quiz")
window.geometry("600x450")
#Ab hier ist die Klasse
self.a1 = answers[0]
self.Ra = ""
self.lock = False
self.RaBtn = Button(window, text="",font=("Arial", 14))
self.antw1 = Button(window, text="",font=("Arial", 14))
self.right = 0
def control1(self):
if self.lock == False:
if self.Ra != self.a1:
self.antw1.configure(bg='red')
else:
self.antw1.configure(bg='green')
self.right += 1
self.RaBtn.configure(bg='green')
self.lock = True
Ich hoffe es ist so verständlich.
2 Antworten
Ich sehe nicht, dass du irgendwo einen Klick-Handler für deinen Button definiert hättest. Gib dem Button also noch einen command (lies dazu auch hier), welcher auf die Funktion zeigt, die die Hintergrundfarbe setzen soll.
self.antw1 = Button(window, text=self.a1, font=("Arial",14),width=39, command = self.control1)
Tkinter spreche ich nicht.
Doch ich würde den Code vereinfachen und ausprobieren, ob Du den Button per se umfärben kannst mit dem Source. Also nur mal eine if then else Zeile mit klicken und probieren, ob es tut.
Wenn alle Stricke reißen (was ich jedoch nicht glaube), dann färbe die Schrift rot oder grün bzw. wäre ein Soundeffekt nett bei einer richtigen Antwort.