tkinter Anfängerfrage bewegte Grafik
Verfasst: Sonntag 3. Oktober 2021, 11:39
Hallo. Ich beschäftige mich seit ein paar Wochen mit Python und bin nun bei tkinter angekommen.
Nun stehe ich vor dem Problem, dass ich eine GUI habe und möchte nur erreichen, dass sich ein grafisches Objekt entlang der x-Achse bewegt.
Jedoch scheitere ich an der mainloop() von tkinter. Ohne diese wird die GUI nicht angezeigt.
Jeglicher Code danach wird ja nicht ausgeführt ohne das die GUI geschlossen wird.
Daher meine Frage wie kann ich es realisieren, dass die Grafik über den Bildschirm läuft ohne einen Button platzieren zu müssen! Wenn ich einen Button anbringe und hier eine Funktion aufrufe, wäre das ja kein Problem. Aber in dem Fall soll die Grafik alleine bei Programmstart sich bewegen.
Hier mein aktuelles Code-Beispiel:
import tkinter as tk
import time
root = tk.Tk()
# Textausgabe erzeugen
label1 = tk.Label(root, text="Hallo Welt!",
fg="red",
bg="orange",
font=("times", 25, "bold", "italic"))
label1.place(x=1, y=1)
#Grafik einbetten
bild1 = tk.PhotoImage(file="biene.png")
label2 = tk.Label(root, image=bild1)
label2.place(x=1,y=100)
root.mainloop()
'''
for i in range(1,100):
label2.place(x=1,y=100)
time.sleep(0.5)
'''
Nun stehe ich vor dem Problem, dass ich eine GUI habe und möchte nur erreichen, dass sich ein grafisches Objekt entlang der x-Achse bewegt.
Jedoch scheitere ich an der mainloop() von tkinter. Ohne diese wird die GUI nicht angezeigt.
Jeglicher Code danach wird ja nicht ausgeführt ohne das die GUI geschlossen wird.
Daher meine Frage wie kann ich es realisieren, dass die Grafik über den Bildschirm läuft ohne einen Button platzieren zu müssen! Wenn ich einen Button anbringe und hier eine Funktion aufrufe, wäre das ja kein Problem. Aber in dem Fall soll die Grafik alleine bei Programmstart sich bewegen.
Hier mein aktuelles Code-Beispiel:
import tkinter as tk
import time
root = tk.Tk()
# Textausgabe erzeugen
label1 = tk.Label(root, text="Hallo Welt!",
fg="red",
bg="orange",
font=("times", 25, "bold", "italic"))
label1.place(x=1, y=1)
#Grafik einbetten
bild1 = tk.PhotoImage(file="biene.png")
label2 = tk.Label(root, image=bild1)
label2.place(x=1,y=100)
root.mainloop()
'''
for i in range(1,100):
label2.place(x=1,y=100)
time.sleep(0.5)
'''