Mã này hoạt động:Tại sao hình ảnh Tkinter không hiển thị nếu được tạo trong một hàm?
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.grid(row = 0, column = 0)
photo = tkinter.PhotoImage(file = './test.gif')
canvas.create_image(0, 0, image=photo)
root.mainloop()
Nó hiển thị cho tôi hình ảnh.
Bây giờ, mã này biên dịch nhưng nó không cho tôi xem hình ảnh, và tôi không biết tại sao, bởi vì đó là cùng một mã, trong một lớp học:
import tkinter
class Test:
def __init__(self, master):
canvas = tkinter.Canvas(master)
canvas.grid(row = 0, column = 0)
photo = tkinter.PhotoImage(file = './test.gif')
canvas.create_image(0, 0, image=photo)
root = tkinter.Tk()
test = Test(root)
root.mainloop()
có thể trùng lặp của [Không thể hiển thị hình ảnh trong Tkinter] (https://stackoverflow.com/questions/3359717/cannot-display-an-image-in-tkinter) – Nae