#python #tkinter
#python #tkinter
Вопрос:
У меня есть ряд команд, которые необходимо выполнить. После каждого выполнения я распечатываю «Загрузка…бла-бла-бла» или «Сбой».
В терминале я вижу, что после каждого выполнения статус немедленно распечатывается.
[1]
Используя tkinter, я пытаюсь вывести тот же статус в текстовом поле. То же самое, после каждого выполнения я хотел бы видеть свой статус. Однако в этом текстовом поле статус распечатывается сразу в конце скрипта (как и в моем примере, я не вижу «Заставку загрузки», пока все не будет сделано.)
def actions():
# Enable VNC
if action_VNC.get():
print("Enabling VNC...")
msg_initVNC = "Enabling VNC..." "n"
outText.insert(tk.END, msg_initVNC)
#DO STUFF HERE
print('Success. VNC enabled.')
print('########')
msg_outVNC = 'Success. VNC enabled.' "n" '########' "n"
outText.insert(tk.END, msg_outVNC)
Вот мой код моего текстового поля:
outText = Text(window, width=50, height=20, wrap=WORD)
outText.grid(row=8, columnspan=2, sticky=W)
Я также пробовал это:
label1 = Label(text= "Enabling VNC..." 'n', font=("Arial", 14), anchor=CENTER)
label1.grid (column=0, row = 9, columnspan=3, pady=10)
вместо внешнего текста. Я получаю те же результаты
Комментарии:
1. Используйте
Label(text=...)
иpack()
метку на экране или в рамке, обязательно определяйте новую метку каждый раз для каждого статуса, если вы ищете ответ, вам может потребоваться указать здесь некоторый код2. Я только что обновил свой вопрос с помощью некоторого примера кода. Весь код довольно длинный. Но прикрепленный фрагмент демонстрирует ту же проблему. Я попробую использовать метку (text= …). Спасибо.
3. Извините, но код должен быть чем-то, что мы можем скопировать, вставить и попробовать, а не изображением.
4. Извините …. Я здесь новичок. Код обновлен. Часть #Do Stuff Здесь — это действия. Выполнение занимает около 1-2 секунд, но оно работает. Я хотел бы увидеть «Включение VNC …», подождите 1-2 секунды, а затем «успех… бла-бла-бла». Прямо сейчас он просто выбрасывает все в конце.
5. Что такое
outText
?