benderlio
Май 16, 2009 08:06:48
Я новичек, не пойму почему не работает такой фргмет кода, точнее работает но не так как мне бы хотелось
def button_clicked():
counter=1
while counter<100:
c.create_line(10,10,20,counter)
print ('aaaa')
time.sleep(0.005)
counter+=1
т.е. в консоль выводит “аааа” а вот линию отображает сразу а не в процессе цикла пошагово.
В чем я не прав? Как сделать своего рода анимацию?
Спасибо.
Lexander
Май 16, 2009 09:46:45
что такое “с” ?
igor.kaist
Май 16, 2009 11:11:49
Я так понимаю, с это canvas из Tkinter? Угадал? :)
benderlio
Май 16, 2009 11:22:37
igor.kaist
да именно так. прошу прощения.
Malinaizer
Май 16, 2009 13:20:46
а почему я его запускаю и ничего не происходит?
r1s
Май 16, 2009 21:54:13
Выложите код полностью. А то действительно непонятно что за “с” Если консоль и нужна анимация и я все правильно понял, то может после каждой итерации чистить консоль?
Lexander
Май 17, 2009 19:30:02
1. Проверить цвет линии.
2. Дать команду на перерисовку канвы (update_idletasks) в цикле.
igor.kaist
Май 18, 2009 12:33:04
Действительно нужно обновлять canvas
Можно и так c.update()
Enchantner
Май 23, 2009 21:29:35
вроде это вы мой пост на хабре комментировали? :) там вам ответ уже дали