from Tkinter import Tk, PhotoImage, Label
def start_up():
app = Tk()
app.title("Tower")
app.geometry('600x900')
photo = PhotoImage("Python.png")
label = Label(app, image = photo)
label.pack()
app.mainloop()
start_up()
我目前正在努力使用tkinter 2.7。我无法显示我想要的图像,因此请查看我的代码并帮我修复它。感谢。
答案 0 :(得分:1)
from Tkinter import
这是语法错误。使用from
语法时,您需要列出要导入的名称。 (或者用星号来导入所有东西,但这不是好习惯,因为它会不必要地污染你的命名空间)
from Tkinter import Tk, PhotoImage, Label
label = Label(app, image = photo)
app.mainloop()
label.pack()
在调用mainloop之前,你应该pack()
你的小部件。将其更改为:
label = Label(app, image = photo)
label.pack()
app.mainloop()
photo = PhotoImage("Python.png")
如果要将文件名传递给PhotoImage,则应该使用file
关键字参数。此外,PhotoImage不知道如何打开png。尝试使用gif或pgm等格式。
photo = PhotoImage(file="Python.gif")
或者,安装第三方库Pillow,并使用其ImageTk.PhotoImage类,该类支持各种图像格式,包括png。
from PIL import Image, ImageTk
img = Image.open("python.png")
photo = ImageTk.PhotoImage(img)
label = Label(app, image = photo)
最终结果:
from Tkinter import Tk, PhotoImage, Label
def start_up():
app = Tk()
app.title("Tower")
app.geometry('600x900')
photo = PhotoImage(file="Python.gif")
label = Label(app, image = photo)
label.pack()
app.mainloop()
start_up()