Zunächst müssen wir sicherstellen: Dass wir die richtigen Bibliotheken importiert haben. In diesem Fall verwenden wir die Module Tkinter und Random.
Um das Problem der Bildverschiebung zu beheben müssen wir die Anordnung und das Layout unseres Würfels optimieren.
Um ein Bild in Tkinter einzufügen verwenden wir die Methode PhotoImage und geben den Pfad zu unserem Bild an. Um den Rand des Bildes transparent zu machen, sollte das Bild selbst bereits einen transparenten Hintergrund haben.
Als nächstes müssen wir die Position und Größe unseres Fensters festlegen. Dazu verwenden wir die Methode geometry und geben die Parameter für die Größe und Position des Fensters an.
Um den Code weiter zu optimieren können wir die definierten Funktionen wie Zufall nicht weiterhin verwenden. Stattdessen können wir den Zufallszahlengenerator von Random verwenden um eine zufällige Zahl zwischen 1 und 6 zu generieren.
Hier ist ein Beispielcode der einen Würfel mit Bildern statt Zahlen in Python erstellt:
from tkinter import *
from random import randint
fenster = Tk()
fenster.geometry("500x500")
Methode um eine zufällige Zahl zwischen 1 und 6 zu generieren
def zufall():zufallszahl = randint(1, 6)
bild = PhotoImage(file="Bilder/" + str(zufallszahl) + ".png")
lbl_bild.configure(image=bild)
lbl_bild.image = bild
Erstellt ein Label um das Bild anzuzeigen
lbl_bild = Label(fenster)lbl_bild.pack()
Erstellt einen Button zum Würfeln
btn_wurfeln = Button(fenster, text="Würfeln", padx=30, pady=15, command=zufall)btn_wurfeln.pack()
fenster.mainloop()
Dieser Code erstellt ein 🪟 mit der Größe 500x500 Pixel. Das Bild des Würfels wird in einem Label angezeigt. Durch Klicken auf den "Würfeln" Button wird eine zufällige Zahl zwischen 1 und 6 generiert und das entsprechende Bild angezeigt.
Durch die Verwendung der Methode .pack() werden die Elemente so angeordnet, dass das Bild nicht nach jedem Wurf verschoben wird.
Der Code kann erweitert und angepasst werden um verschiedene Bilder für verschiedene Seiten des Würfels zu verwenden. Es ist ebenfalls möglich die Größe und das Aussehen des Fensters anzupassen um den individuellen Anforderungen gerecht zu werden.