Ich wollte es so machen, dass man die Farbe per Klick anpassen kann. Dies funktioniert auch schon aber wenn man in dieses Hellgraue Feld drückt um den Farbcode einzugeben kann ich den zwar speichern aber weiß nicht ganz wie ich den wert aus der Funktion "Aussuchen" in die Funktion "Farbwechsel" bekomme. Ich bin mir relativ sicher das es daran liegt, weil es wenn man den Code aus der Funktion "Farbwechsel" nimmt und ihn "einfach so" dahin schreibt funktioniert es.
PS: Der Code ist eher auf die Funktion ausgelegt desshalb ist dort wahrscheinlich auch viel Luft nach oben desshalb würde ich mich auch hier über Feedback freuen. Vielen Dank schonmal im Voraus für die Mühe.
Code: Alles auswählen
from turtle import * #Alles von turtle importieren
from tkinter import* #Alles von tkinter importieren
import time
farbcode = "#000000"
delai=50
def Schildkröte():
shape("turtle")
def Kreis():
shape("circle")
def Dreieck():
shape("triangle")
def Pfeil():
shape("arrow")
def Quadrat():
shape("square")
def Classic():
shape("classic")
def Schwarz():
pencolor("black")
def Rot():
pencolor("red")
def Grün():
pencolor("green")
def Weiß():
pencolor("white")
def Cyan():
pencolor("cyan")
def Magenta():
pencolor("magenta")
def Gelb():
pencolor("yellow")
def Blau():
pencolor("blue")
def Aussuchen():
aussuchen = Tk()
Label(aussuchen, text="Farbcode: ").grid(row=0)
Eingabe = Entry(aussuchen)
Eingabe.grid(row=0, column=1)
buttonFarbcode=Button(aussuchen, text='anwenden',command=Farbwechsel)
buttonFarbcode.grid(row=1, column=1, sticky="w", pady=4)
farbcode = Eingabe.get()
return farbcode
def Farbwechsel():
pencolor(farbcode)
def left(): #Methode left definieren
speed(regler.get()) #speed auf regler Variabel anpassen
setheading(180) #Auf 180° drehen
fd(100) #100 nach vorne gehen
delay(delai)
def right(): #Methode right definieren
speed(regler.get()) #speed auf regler Variabel anpassen
setheading(0) #Auf 0° drehen
fd(100) #100 nach vorne gehen
delay(delai)
def up(): #Methode up definieren
speed(regler.get()) #speed auf regler Variabel anpassen
setheading(90) #Auf 90° drehen
fd(100) #100 nach vorne gehen
delay(delai)
def down(): #Methode down definieren
speed(regler.get()) #speed auf regler Variabel anpassen
setheading(270) #Auf 270° drehen
fd(100) #100 nach vorne gehen
delay(delai)
def back(): #Methode back definieren
undo() #letzte Aktion löschen
delay(delai)
main = Tk() #Fenster erstellen/öffnen
main.geometry("175x400")
main.title("test")
lab1 = Label(main, text="Geschwindigkeit", width=20, bg="#BBBBBB") #Label erstellen darauf steht Geschwindigkeit weite von 20 und Hintergrundfarbe "#BBBBBB"
lab2 = Label(main, text="Form", width=20, bg="#BBBBBB")
lab3 = Label(main, text="Farbe", width=20, bg="#BBBBBB")
regler = Scale(main, from_=1, to=10, troughcolor="green", orient=HORIZONTAL) #regler erstellen von 1-10 mit der Farbe "green" und horizontal ausgerichtet
regler.set(10) #regler auf 10 setzen
ikon = IntVar()
ikon.set(0)
rb0 = Radiobutton(main, text="Schildkröte", variable = ikon, value = 0,command=Schildkröte)
rb1 = Radiobutton(main, text="Kreis",variable = ikon, value = 1,command=Kreis)
rb2 = Radiobutton(main, text="Dreieck",variable = ikon, value = 2,command=Dreieck)
rb3 = Radiobutton(main, text="Pfeil",variable = ikon, value = 3,command=Pfeil)
rb4 = Radiobutton(main, text="Quadrat",variable = ikon, value = 4,command=Quadrat)
rb5 = Radiobutton(main, text="Classic",variable = ikon, value = 5,command=Classic)
buttonSchwarz = Button(main,text=" ",activebackground="black",bg="black",command=Schwarz)
buttonRot = Button(main,text=" ",activebackground="red",bg="red",command=Rot)
buttonGrün = Button(main,text=" ",activebackground="green",bg="green",command=Grün)
buttonBlau = Button(main,text=" ",activebackground="blue",bg="blue",command=Blau)
buttonCyan = Button(main,text=" ",activebackground="cyan",bg="cyan",command=Cyan)
buttonMagenta = Button(main,text=" ",activebackground="magenta",bg="magenta",command=Magenta)
buttonGelb = Button(main,text=" ",activebackground="yellow",bg="yellow",command=Gelb)
buttonWeiß = Button(main,text=" ",activebackground="white",bg="white",command=Weiß)
buttonkp = Button(main,text=" ",activebackground="#BBBBBB",bg="#BBBBBB",command=Aussuchen)
rb0.grid(row=4,column=0,columnspan=5, sticky= "w")
rb1.grid(row=5,column=0,columnspan=5, sticky= "w")
rb2.grid(row=6,column=0,columnspan=5, sticky= "w")
rb3.grid(row=7,column=0,columnspan=5 ,sticky= "w")
rb4.grid(row=8,column=0,columnspan=5, sticky= "w")
rb5.grid(row=9,column=0,columnspan=5, sticky= "w")
regler.grid(row=2,column=0,columnspan=5,pady=5) #regler auf seite darstellen
lab1.grid(row = 1,column=0,columnspan=5) #label auf Seite darstellen
lab2.grid(row=3,column=0,columnspan=5)
lab3.grid(row=10,column=0,columnspan=5)
buttonSchwarz.grid(row=11,column=0,padx=5,pady=5,sticky="nsew")
buttonWeiß.grid(row=11,column=1,padx=5,pady=5,sticky="nsew")
buttonGrün.grid(row=11,column=2,padx=5,pady=5,sticky="nsew")
buttonMagenta.grid(row=12,column=0,padx=5,pady=5,sticky="nsew")
buttonBlau.grid(row=12,column=1,padx=5,pady=5,sticky="nsew")
buttonCyan.grid(row=12,column=2,padx=5,pady=5,sticky="nsew")
buttonGelb.grid(row=13,column=0,padx=5,pady=5,sticky="nsew")
buttonRot.grid(row=13,column=1,padx=5,pady=5,sticky="nsew")
buttonkp.grid(row=13,column=2,padx=5,pady=5,sticky="nsew")
shape("turtle")
listen() #System soll auf Eingaben reagieren
onkey(left, "Left") #Wenn ich "Left" drücke soll die Methode left abgerufen werden
onkey(right, "Right") #Wenn ich "Right" drücke soll die Methode right abgerufen werden
onkey(up, "Up") #Wenn ich "Up" drücke soll die Methode up abgerufen werden
onkey(down, "Down") #Wenn ich "Down" drücke soll die Methode down abgerufen werden
onkey(back, "BackSpace") #Wenn ich "BackSpace" drücke soll die Methode back abgerufen werden
main.mainloop()