Форум сайта python.su
Перерыл весь гугл, не могу понять как заставить Tkinter изменять текст спустя какое-то время.
Из той инфы, что я нашёл, выяснилось что забиндить можно только событие, связанное с взаимодействием юзера с интерфейсом, а как заставить текст в окне изменяться самостоятельно без совершения каких-либо действий юзером или в зависимости от изменения значения переменной?
from tkinter import * from time import sleep root = Tk() var=StringVar() var.set('Привет') lab = Label(root, textvariable=var) lab.pack() root.mainloop() sleep(1) var.set('Как дела?')
Отредактировано Arius (Сен. 5, 2014 12:52:50)
Офлайн
from Tkinter import * root = Tk() var=StringVar() var.set('Привет') lab = Label(root, textvariable=var) lab.pack() def callback(event): var.set('Как дела?') lab.bind('<Button-1>', callback) root.mainloop()
Отредактировано Singularity (Сен. 5, 2014 12:52:04)
Офлайн
Уважаемый, вам слово “самостоятельно” что-нибудь говорит)?
Офлайн
Arius
from Tkinter import * root = Tk() var = StringVar() var.set('Привет') lab = Label(root, textvariable=var) lab.pack() i = 1 def callback(event=None): global i var.set('Как дела? Time from start:' + str(i)) i += 1 lab.after(500, callback) lab.after(500, callback) lab.bind('<Button-1>', callback) root.mainloop()
Отредактировано Singularity (Сен. 5, 2014 12:59:48)
Офлайн
Благодарю
Офлайн