Python: нужно чтобы изменялся текст на label

Компьютеры программирование windows Образование python

Нужно чтобы функции изменяли текст label ("загружается", "обработка" и т.п.)

from Tkinter import *
import time
root = Tk()
v = StringVar()
Label(root, textvariable=v).pack()
root.mainloop()

def a():
v.set('1256')
def b():
v.set('78910')
def c():
v.set('11112')

a()
time.sleep(2)
b()
time.sleep(2)
c()
time.sleep(2)

Пробовал делать pack() после каждой функции, тоже самое.
Где в коде ошибка?


Примечание:
http://otvety.google.ru/otvety/thread?tid=65a056baeced2935
Ответы:
Ошибка в том, что после строки Label(root, textvariable=v).pack(), переменная v и метка никак не связаны. Вы меняете содержимое переменной v, которая к вашей метке не имеет больше ни малейшего отношения. Я не в курсе API Tkinter, так что ищите сами метод класса Label, который изменяет текст.
Upd:
TheDik (Дмитрий Корытов), хм, если оно так, как вы говорите - авторы Tkinter больные люди. А mainloop я как-то проглядел, да. :)
Если все это так и идет последовательно в файле, то ошибка именно в последовательности. После запуска mainloop он начинает отлавливать события и выполнение скрипта дальше не идет, далее все построено на событиях, вам нужно повешать изменение на события и все заработает. Вот так например:


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.