このGUIの時間をリアルタイムで更新できませんか?

2020-02-15 python tkinter
import tkinter as tk
from tkinter import ttk
from time import strftime
try:
    from ctypes import windll
    windll.shcore.SetDpiAwareness(1)
except Exception as e:
    pass


class App(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title('Digital Clock')
        self.geometry('290x70')
        self.resizable(False, False)

        def tick():
            set_time = strftime('%H:%M:%S:%p')
            clock_label.config(text=set_time)

        clock_label = ttk.Label(self, font=('calibri', 40, 'bold'),
                                background='yellow', foreground='black',
                                )
        clock_label.grid(row=0, column=0)
        clock_label.after(100, tick)


if __name__ == '__main__':
    digiclock = App()
    digiclock.mainloop()`
```

設定後の時間は、ラベルでafterメソッドを使用した後に更新されません。なぜそうしないのか、それを修正する方法は?

ここでは、tick()メソッド内で使用されたメソッドの後、ウィンドウに何も表示されないことがわかります

Answers

うーん、私はこれについて知りません.after()私は時計GUIを作ろうとしませんでした。しかし、 jasonharperacw1668のコメントとGoogleでいくつかの検索を読んだ後、コードclock_label.after(100、tick)とtick関数の同じ行を配置する必要があります。

私はそれを得た.... iはそれが働いた後、Appクラスでティック関数を呼び出していませんでした...しかし、この後にクロック形式が12時間から24時間形式に変わりました...なぜそれが起こったのですか?

Related