Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2023 08:04:34

Xamochkin
Зарегистрирован: 2023-03-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Таймер

День добрый! Есть код в консоли все работает прекрасно, а вот tkinter не выводит в Listbox и виснет до завершения цикла. Помогите пожалуйста решить проблему.

 import datetime
import time 
from tkinter import *
def obratniy_otschet(): 
	periud=1
	total_seconds=periud*3600 
	while total_seconds>0: 
		timer = datetime.timedelta(seconds=total_seconds) 
		print("                                                 ", end="\r") 
		print("  Следующее сканирование через: ",timer, end="\r") 
		log.delete(END)
		log.insert(END, "  Следующее сканирование через: "+str(timer)) 
		time.sleep(1) 
		total_seconds=total_seconds-1 
    
	
root=Tk()
root.title("obratniy_otschet")
root.geometry("250x250")
log = Listbox(root, width=35, height=10)
log.place(x=5, y=1) 
log.insert(END, " ")
but = Button(root,
        text="Старт", 
        width=15, height=1, command=obratniy_otschet)
but.place(x=50, y=200) 
root.mainloop()

Отредактировано Xamochkin (Март 14, 2023 08:49:48)

Офлайн

#2 Март 14, 2023 10:46:57

m1r42
Зарегистрирован: 2022-07-26
Сообщения: 133
Репутация: +  7  -
Профиль   Отправить e-mail  

Таймер

Xamochkin
День добрый! Есть код в консоли все работает прекрасно, а вот tkinter не выводит в Listbox и виснет до завершения цикла. Помогите пожалуйста решить проблему.
 import datetime
import time 
from tkinter import *
def obratniy_otschet():
    periud=1
    total_seconds=periud*3600
    while total_seconds>0:
        timer = datetime.timedelta(seconds=total_seconds)
        print("  Следующее сканирование через: ",timer)
        log.delete(0)
        log.insert(0, " через: "+str(timer))
        root.update()
        time.sleep(1)
        total_seconds=total_seconds-1
root=Tk()
root.title("obratniy_otschet")
root.geometry("250x250")
log = Listbox(root, width=35, height=10)
log.place(x=5, y=1)
but = Button(root, text="Старт", width=15, height=1, command=obratniy_otschet)
but.place(x=50, y=200) 
root.mainloop()

Отредактировано m1r42 (Март 14, 2023 10:47:40)

Офлайн

#3 Март 14, 2023 11:01:03

Xamochkin
Зарегистрирован: 2023-03-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Таймер

Все как просто оказалось. Спасибо огромное

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version