-1
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 为 None: AttributeError: 'PhotoImage' 对象没有属性 '_last_child_ids'

4

1 回答 1

0

问题是这段代码:

Label(my_img_list[image_number - 1])

您正在尝试使用图像作为标签的父/主。您需要改用它:

Label(image=my_img_list[image_number - 1])
于 2020-06-23T13:14:02.280 回答