Форум сайта python.su
Пытаюсь вывести картинку в окно.
Так работает:
from Tkinter import *
import Image, ImageTk
tk=
tk = Tk()
c = Canvas(tk, width=600, height=400)
c.pack()
img = PhotoImage(file=“f:/work/python_graphics/work_files/p_133.gif”)
c.create_image(0, 0, image=img, anchor=“nw”)
tk.mainloop()
А вот так - нет. Выводится чистая поляна без изображения:
from Tkinter import *
import Image, ImageTk
tk=
tk = Tk()
def process_image(t):
c = Canvas(t, width=600, height=400)
c.pack()
img = PhotoImage(file=“f:/work/python_graphics/work_files/p_133.gif”)
c.create_image(0, 0, image=img, anchor=“nw”)
process_image(tk)
tk.mainloop()
Но если пройти по шагам отладчиком, то тоже работает.
Проблема в том, что вывод изображения нужно сделать отдельной функцией.
Помогите разобраться, в чем проблема.
Офлайн
Попробуй сделать с - глобальной переменной. И img тоже. А то получается с и img создаются при запуске функции и уничтожаются по завершении её работы, а прога работает и ничего не показывает.
Я тоже нарывался на почти такое. Только у меня не картинки были, а потоки.
А так
from Tkinter import *
кажется не очень хорошо писать! Ждём ответов профессионалов.
Отредактировано (Сен. 28, 2009 14:31:09)
Офлайн
Сделал. Помогло.
Огромное спасибо!!!
Офлайн
GDK
получилось ты профи :)
Офлайн
GDKДля Tkinter это вроде как рекомендуется….
from Tkinter import *
кажется не очень хорошо писать!
Офлайн
да тему стоит перенести в ГУЙ
Офлайн
Хотелось бы задать вопрос по этой теме: как сделать окно динамически размерным, чтобы оно растягивалось на размер картинки?
Заранее спасибо
Офлайн