0
Ich versuche, ein einfaches Spiel mit tkinter
in python 3.5
mit dem Canvas-Widget zu erstellen. Für dieses Spiel muss ich ein transparentes (png) Bild verwenden können. Hier ist mein Code:Zeichnen eines PNG-Bildes auf einem Tinter Canvas Python
from PIL import ImageTk
from tkinter import Tk, Canvas
root = Tk()
im = ImageTk.PhotoImage(file="test.png")
canvas = Canvas(root, width=900, height=900)
canvas.pack()
canvasImage = canvas.create_image(0, 0, image=im, anchor="nw")
root.mainloop()
Das Problem ist, dass trotz fehler bekommt ich kein Bild mit einem transparenten Hintergrund laden, aber ich PNG-Bilder ohne transparenten Hintergrund laden.
Sie Wildcard-Importe verwenden nicht, stattdessen tun 'Import tkinter als tk' –
@Coal_ In diesem Fall wird ein Wildcard-Import ist in Ordnung; Es ist keine allgemeine Regel, sie niemals zu verwenden. – SneakyTurtle
Ich stimme Ihnen für diesen speziellen Fall zu, aber wenn Sie eine skalierbare Codebasis haben und viele gegenseitige Abhängigkeiten haben, sind Platzhalterimporte schrecklich. Ich meine, es ist einfacher, sie jetzt zu vergessen, als jedes Objekt später mit 'tk' versehen zu müssen. –