2015-06-22 6 views
1

Я действительно надеюсь на некоторую помощь в этом, так как он полностью застопорился. У меня есть код работает сам по себе, как на ниже:Изображение не будет отображаться на холсте tkinter

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) 

Любые предложения были бы весьма полезными.

+0

http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm –

ответ

0

Спасибо, Брайан, за то, что указал мне в правильном направлении.

Фиксированный с:

c.image = photo 
Смежные вопросы