Я просто не могу придумать это, я пробовал вещи, которые, по моему мнению, имели смысл, но я думаю, что я просто слишком глуп для этого.Пожалуйста, объясните (после нажатия кнопки «Пуск» приложение зависает, и вы не можете остановить запись)
from pynput.keyboard import Key, Listener
import time, logging
from threading import *
# functions
class logger():
should_log=False
def log(should_log):
while should_log:
log_dir = ""
logging.basicConfig(filename=(log_dir + "key_log.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s')
def on_press(key):
logging.info(key)
with Listener(on_press=on_press) as listener:
listener.join()
#
def logger(should_log):
logger.log(True)
#
def stoplogger(should_log):
logger.log(False)
# main
lg= logger()
window = Tk()
window.title("Logger")
window.configure(background="black")
# GUI
logo = PhotoImage(file="key.png")
Label(window, image=logo, bg="black").grid(row=0, column=0, sticky=E)
Label(window, text="Start logging", bg="black", fg="white", font="none 12 bold").grid(row=1, column=0)
Label(window, text="Stop logging", bg="black", fg="white", font="none 12 bold").grid(row=2, column=0)
#
Button(window, text="Start", width=10, command=lg.logger).grid(row=1, column=0, sticky=W)
Button(window, text="Stop", width=10, command=lg.stoplogger) .grid(row=2, column=0, sticky=W)
#
####
window.mainloop()