Я действительно надеюсь на некоторую помощь в этом, потому что это меня совершенно озадачило. У меня есть код, работающий сам по себе, как показано ниже:
from tkinter import *
from PIL import ImageTk
dam_level = [75]
c = Canvas(width = 200, height = 235, relief = "sunken", borderwidth = 2)
c.grid(row = 11, rowspan = 8, column = 4, columnspan = 2)
c_width = 200
c_height = 250
y_stretch = 1.9
y_gap = 35
x_stretch = 15
x_width = 90
x_gap = 30
for x, y in enumerate(dam_level):
x0 = x * x_stretch + x * x_width + x_gap
y0 = c_height - (y * y_stretch + y_gap)
x1 = x * x_stretch + x * x_width + x_width + x_gap
y1 = c_height - y_gap
c.create_rectangle(x0, y0, x1, y1, fill = "#008ae8")
y = (str(y))
c.create_text(x0 + 10, y0, anchor = SW, text = (y, "%"))
c.create_text(x0 + 60, y1 + 5, anchor = N, text = "Catchment")
photo = ImageTk.PhotoImage(file =
"/Users/Name/Desktop/python3.4/water.png")
c.create_image(10, 10, image = photo, anchor = NW)
mainloop()
Однако, когда я поместил его в свое основное приложение в свою собственную функцию (с остальной частью моего кода), изображение не будет отображаться. Отображается график и холст, а не изображение water.png. Там нет журнала ошибок или чего-то еще. Единственное изменение, которое я делаю, когда добавляю это в свое приложение, — это добавление «я» в эту строку. (И я, конечно, удаляю «mainloop ()»).
c = Canvas(self, width = 200, height = 235, relief = "sunken", borderwidth = 2)
Любые предложения будут ценны.