Как изменить отсчет до часа / минут / секунд - PullRequest
0 голосов
/ 13 марта 2019

Я новичок в Tkinter, поэтому я просто пытаюсь узнать как можно больше.Я хочу попробовать сделать будильник, но теперь я застрял в формате времени.Это текущий код:

from tkinter import *

teer = Tk()
field = Canvas(teer, bd=0, highlightthickness=0, height='190', width='400', bg='#111111')
field.pack()

def start_countdown(count):
    coin = 0.5
    teer.resizable(False,False)
    counter = Label(teer, fg = "#287aff", bg='#232323', font = ("Lato", 35, "bold"), width='15')
    counter.place(x=50, y=50)
    counter["text"] = count
    if count > 0:
       teer.after(1000, start_countdown, count -1)
    if count < 500:
       coin = 0.6
    if count < 300:
       coin = 0.7

start_countdown(500)
teer.mainloop()

Теперь я пытаюсь расколоть 500 (секунд) на минуты / секунды.Или, в конечном счете, измените его на часы / минуты / секунды, если я решу вставить в функцию целое число больше 3600.Я просто хочу, чтобы время было закодировано, поэтому я подумал, что это не будет такой проблемой.

То, что я пробовал:

- Экспериментировал с различными сигналами тревоги / обратными отсчетами, которые делали люди (к сожалению, не так много там, которые ведут обратный отсчет, а не вверх, и такжев часах / минутах / секундах.

- Эксперимент с форматом (например)% H:% M:% S

Я, кажется, не понимаю. Был бы признателен за любую помощьили совет по созданию GUI-программы, которая ведет обратный отсчет.

1 Ответ

0 голосов
/ 13 марта 2019

Вы можете использовать divmod для расчета оставшегося времени.

import tkinter as tk
root = tk.Tk()

a = tk.Label(root,text="")
a.pack()

def set_idle_timer(t):
    hours, remainder = divmod(t, 3600)
    mins, secs = divmod(remainder, 60)
    timeformat = "{:02d}:{:02d}:{:02d}".format(hours, mins, secs)
    a.config(text=timeformat)
    t -=1
    root.after(1000,lambda: set_idle_timer(t))

set_idle_timer(3605)

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...