Dr3501
Сен. 28, 2009 14:20:34
Пытаюсь вывести картинку в окно.
Так работает:
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()
Но если пройти по шагам отладчиком, то тоже работает.
Проблема в том, что вывод изображения нужно сделать отдельной функцией.
Помогите разобраться, в чем проблема.
GDK
Сен. 28, 2009 14:29:25
Попробуй сделать с - глобальной переменной. И img тоже. А то получается с и img создаются при запуске функции и уничтожаются по завершении её работы, а прога работает и ничего не показывает.
Я тоже нарывался на почти такое. Только у меня не картинки были, а потоки.
А так
from Tkinter import *
кажется не очень хорошо писать! Ждём ответов профессионалов.
Dr3501
Сен. 28, 2009 14:36:13
Сделал. Помогло.
Огромное спасибо!!!
sypper-pit
Сен. 28, 2009 18:47:01
GDK
получилось ты профи :)
igor.kaist
Сен. 29, 2009 10:31:35
GDK
from Tkinter import *
кажется не очень хорошо писать!
Для Tkinter это вроде как рекомендуется….
P.S. Опять не в тот раздел пишем…
sypper-pit
Сен. 29, 2009 10:46:08
да тему стоит перенести в ГУЙ
Atkin
Сен. 7, 2010 14:01:20
Хотелось бы задать вопрос по этой теме: как сделать окно динамически размерным, чтобы оно растягивалось на размер картинки?
Заранее спасибо