Первая часть работает отлично, появляется окно графического интерфейса вверх, я могу ввести имя и нажать кнопку, но ничего не происходит - однако, если я подожду 1-2 минуты, приветствие наконец отобразится ВМЕСТЕ с мотивационным сообщением. Вместо этого я хочу, чтобы сначала отображалось приветствие, а затем, через 1–2 минуты, отображалось случайное мотивационное сообщение. Я использую pycharm в качестве своей IDE. Вот полный код:
Код: Выделить всё
import time
import random
import tkinter
messages = [
"You're doing great. Keep it up!",
"Let's keep working. No time to waste!",
"Don't stop now! There's still work to do.",
"Keep up the good work! You're killing it!",
"Don't get distracted. Stay focused!"
]
def display_message_random(label):
while True:
delay_in_minutes = random.randint(1, 2)
delay_in_seconds = delay_in_minutes * 60
time.sleep(delay_in_seconds)
selected_message = random.choice(messages)
label.config(text=selected_message)
root.update()
# Creates the main pop up window
root = tkinter.Tk()
root.title("Albi - Your Productivity Pal!")
# Get user name (in the GUI)
user_name_label = tkinter.Label(root, text="Hi! Hope you're doing well. I'm Albi. What's your name?\n")
user_name_label.pack()
user_name_entry = tkinter.Entry(root)
user_name_entry.pack()
def greet_user():
user_name = user_name_entry.get()
greeting_label = tkinter.Label(root, text="Nice to meet you " + user_name + "!\n" + "I hope you have a productive session!")
greeting_label.pack()
user_name_label.destroy() # Remove the user name prompt after greeting
user_name_entry.destroy() # Remove the entry field after greeting
display_message_random(label) # Start displaying messages
greet_button = tkinter.Button(root, text="Greet Me!", command=greet_user)
greet_button.pack()
# Label to display messages
label = tkinter.Label(root, text="", font=("Arial", 14))
label.pack()
# Start the main event loop - calls the function
root.mainloop()
Я новичок в Python, поэтому, пожалуйста, объясните мне, в чем проблема. Мне 5 лет. Буду очень признателен за любую помощь. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/784 ... -called-se