#python #tkinter
#python #tkinter
Вопрос:
Я могу заставить случайный текст появляться и исчезать, но я не могу понять, как заставить случайную строку появляться саму по себе.
import tkinter as tk
import random
root = tk.Tk()
foo = ['1', '2', '3','a', 'b', 'c']
label = tk.Label(root, text=random.choice(foo))
label.pack()
root.after(2000, label.destroy)
root.mainloop()
Ответ №1:
Вы имели в виду, что функция обновляет текст в ярлыке?
import tkinter as tk
import random
root = tk.Tk()
foo = ['1', '2', '3','a', 'b', 'c']
label = tk.Label(root)
label.pack()
def after():
label.config(text=random.choice(foo))
root.after(2000, after)
after()
root.mainloop()
Комментарии:
1. Именно то, что я искал. Спасибо! Есть ли способ приостановить его на несколько секунд, прежде чем появится новый текст?
2. Что вы имеете в виду? Я использовал ту же
2000
задержку, что и вы.
Ответ №2:
Вы могли бы использовать функцию для непосредственного изменения текста в label, например:
import tkinter as tk
import random
def change_the_label():
label["text"] = random.choice(foo)
root.after(2000, change_the_label)
root = tk.Tk()
foo = ['1', '2', '3','a', 'b', 'c']
label = tk.Label(root,text=random.choice(foo))
label.pack()
root.after(2000, change_the_label)
root.mainloop()