Мой код ниже. Он предназначен для открытия окна tkinter, когда пользователь нажимает CTRL + X, и закрытия этого окна при нажатии CTRL + A. Проблема в том, что когда окно закрывается после открытия, цикл while в lookForKeys
останавливается.
import tkinter as tk
from threading import Thread
import keyboard as k
running = False
def main():
global root
print('Opening...')
root = tk.Tk()
root.geometry("340x740+1550+50")
root.title('Custom Mic')
root.resizable(0,0)
root.attributes('-topmost', True)
root.update()
root.mainloop()
def closeOverlay():
print('Closing...')
root.destroy()
root.quit()
def openOverlay():
global overlayThread
print('Opening...')
overlayThread = Thread(target = main)
overlayThread.start()
def lookForKeys():
global running
while True:
print(running)
if k.is_pressed("ctrl+x") and running == False:
running = True
openOverlay()
if k.is_pressed("ctrl+a") and running == True:
running = False
closeOverlay()
if __name__ == "__main__":
mainThread = Thread(target = lookForKeys)
mainThread.start()
Любая помощь приветствуется.
Я добавил функцию closeOverlay
в тему, и она сработала.
if k.is_pressed("ctrl+a") and running == True:
running = False
closeOverlayThread = Thread(target=closeOverlay)
closeOverlayThread.start()