【发布时间】:2020-06-23 10:22:50
【问题描述】:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
root.title("Images")
root.iconbitmap(r"C:\Users\DellABD\Downloads\lolol.ico")
my_img1 = ImageTk.PhotoImage(Image.open(r"E:\imagespy\illusion.jpg"))
my_img2 = ImageTk.PhotoImage(Image.open(r"E:\imagespy\scan0053.jpg"))
my_img3 = ImageTk.PhotoImage(Image.open(r"E:\imagespy\scan0054.jpg"))
my_img4 = ImageTk.PhotoImage(Image.open(r"E:\imagespy\scan0055.jpg"))
my_img5 = ImageTk.PhotoImage(Image.open(r"E:\imagespy\scan0056.jpg"))
my_img_list = [my_img1, my_img2, my_img3, my_img4, my_img5]
my_label = Label(image = my_img1)
my_label.grid(row = 0, column = 0, columnspan = 3)
def forward(image_number):
global my_label
global back
global forward
my_label.grid_forget()
my_label = Label(my_img_list[image_number - 1])
my_label.grid(row = 0, column = 0, columnspan = 3)
def back():
global my_label
global back
global forward
global my_label
global back
global forward
my_label.grid_forget()
my_label = Label(my_img_list[image_number - 1])
button_forward = Button(root, text = ">>>", command = lambda: image_number + 1)
button_back = Button(root, text = "<<<", command = lambda: image_number - 1)
if button_back == 1:
button_back = Buuton(rrot, text = "<<<", state = DISABLED)
button_back.grid(row = 1, column = 0)
button_forward.grid(row = 1, column = 2)
my_label.grid(row = 0, column = 0, columnspan = 3)
button_back = Button(root, text = "<<<", padx = 20, pady = 20, command = back)
button_forward = Button(root, text = ">>>", padx = 20, pady = 20, command = lambda: forward(2))
button_quit = Button(root, text = "Exit", padx = 20, pady = 20, command = root.quit)
button_back.grid(row = 1, column = 0)
button_forward.grid(row = 1, column = 2)
button_quit.grid(row = 1, column = 1)
root.mainloop()
当我运行程序并按下前进按钮时,它会显示一个错误。我想通过向前按来移动下一张图片,当我按下第一张图片时会消失,但下一张图片不显示并显示错误。
如果 master._last_child_ids 为无: AttributeError:“PhotoImage”对象没有属性“_last_child_ids”
【问题讨论】:
-
无法重现您的错误,edit 您的问题并显示Full Traceback
-
您应该在
Label(...)中的forward()和back()函数中使用image=....。 -
@stovfl:真的吗?我可以重现错误。当您单击“>>>”按钮时,您没有收到错误消息吗?
-
@BryanOakley 单击 ...:我遇到了另一个错误,但不是问题标题中显示的错误。
标签: python image tkinter image-viewer