创建多个标签

creating multiple Labels

我正在尝试在玩游戏时为烟雾创建一个计时器,我希望它能够检测到我何时按下“p”并开始在叠加层中显示一个计时器。这是我目前所拥有的:

from tkinter import *
import time
import keyboard

class Timer():
    def __init__(self):
        self.Time = 8
        while self.Time != 0:
            self.Label(self, text="Smoke 1:"+self.Time)
            self.Label.pack()
            self.Time -= 0.10
            self.Time = round(self.Time, 2)
            time.sleep(0.1)


keyboard.add_hotkey('p', Timer())
keyboard.wait('esc')
root = Tk()
root.geometry("200x75")
root.overrideredirect(True)
root.wm_attributes("-topmost", True)
root.wm_attributes("-transparentcolor", "gray")
root.wm_attributes("-alpha", 0.5)

root.mainloop()

self.Label 不起作用。有人可以帮我吗?

您可以使用键盘和线程在按键时创建新的 tkinter 标签。

import tkinter as tk
import time
import threading
import keyboard


def thread(_root):
    keyboard.add_hotkey('p', update_label, args=(_root,))
    keyboard.wait('esc')


def update_label(_root):
    tk.Label(_root, text=str(time.time())).pack()


root = tk.Tk()
label = tk.Label(root, text='')
label.pack()
listener = threading.Thread(target=thread, args=(root,))
listener.start()
root.mainloop()