创建多个标签
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()
我正在尝试在玩游戏时为烟雾创建一个计时器,我希望它能够检测到我何时按下“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()