LINUX.ORG.RU
Версия Python >= 2.2?

Здесь, судя по всему, получилось замыкание. Функция запомнила значения переменных на момент её определения. Можно попробовать использовать список (не кортеж!) или объект и менять его элементы (атрибуты).

Сам пока не пробовал ;).

DKorolkov
()
okey - всё получилось через объект
anonymous
()
ну тогда здесь почему не шарит rectangle <pre> #!/usr/bin/python from Tkinter import * tk = Tk(); f = Frame(tk); f.pack() c = Canvas(f, bg="blue", width=420, height=420, relief=RIDGE,borderwidth=3) c.pack(expand=1, fill=BOTH) class coordinats: x = 0 y = 0

rectangle = c.create_rectangle(coordinats.x,coordinats.y,100+coordinats.x,50,fill="yell ow")

def xxx(eval): coordinats.x+=5 coords(rectangle,coordinats.x,coordinats.y,100+coordinats.x,50) tk.title(coordinats.x) c.bind("<Button-1>",xxx) tk.update() c.pack() tk.mainloop(); #!/usr/bin/python from Tkinter import * tk = Tk(); f = Frame(tk); f.pack() c = Canvas(f, bg="blue", width=420, height=420, relief=RIDGE,borderwidth=3) c.pack(expand=1, fill=BOTH) class coordinats: x = 0 y = 0

rectangle = c.create_rectangle(coordinats.x,coordinats.y,100+coordinats.x,50,fill="yell ow")

def xxx(eval): coordinats.x+=5 coords(rectangle,coordinats.x,coordinats.y,100+coordinats.x,50) tk.title(coordinats.x) c.bind("<Button-1>",xxx) tk.update() c.pack() tk.mainloop(); </pre>

anonymous
()
2 anonymous (*) (2003-01-22 20:03:41.683)

А что должно "шарить"? Не понял, что требуется.

Ну и конечно s/yell ow/yellow/ :)

DKorolkov
()
когда я в функции пытаюсь изменить координаты rectangle def xxx(event): coords(rectangle,coordinats.x,coordinats.y,100+coordinats.x,50) tk.title(coordinats.x) он короче вообще после такой строчки даже такое не хочет делать tk.title(coordinats.x)

anonymous
()
косяк сам спарол - всё нормально
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.