Диапазон времени Tkinter - PullRequest
0 голосов
/ 10 мая 2018

Привет всем У меня проблемы с тем, как изменить метку в моей программе на python (Tkinter), которая соответствует временным диапазонам.

Пример:

Time range 8:00AM - 11:59AM
Label = "3"
Time range: 12:00PM - 2:59PM
Label = "4"

Как бы поступил Tkinter Python? Пожалуйста, помогите.

1 Ответ

0 голосов
/ 10 мая 2018

Это пример того, что вы ищете:

    import tkinter as tk
    from tkinter import ttk
    import time

    # change every four hours
    ranges = {'00': '1', '01': '1', '02': '1', '03': '1',
              '04': '2', '05': '2', '06': '2', '07': '2',
              '08': '3', '09': '3', '10': '3', '11': '3',
              '12': '4', '13': '4', '14': '4', '15': '4',
              '16': '5', '17': '5', '18': '5', '19': '5',
              '20': '6', '21': '6', '22': '6', '23': '6', }


    def update_label():
    """use current hour as an index to my ranges dict and update label"""
        print('updating!')
        label_var.set(ranges[time.strftime('%H')])
        win.after(1000, update_label)

    # create my window
    win = tk.Tk()
    # create string var for my label and init to 1
    label_var = tk.StringVar(value=1) 
    # create label
    myLabel = ttk.Label(win, textvariable=label_var)

    # add label to window
    myLabel.grid(column=0, row=0, sticky='WE')

    # call update after 1000 ms
    win.after(1000, update_label)

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