Как остановить основной поток?
Есть в программе keyboard.wait(), который блокирует основной поток. Мне нужно, чтобы при нажатии на Ctrl + Q совершался выход из основого потока. Как это реализовать?
import keyboard
import sys
def quit_prog():
sys.exit()
keyboard.add_hotkey('Ctrl + Q', quit_prog)
keyboard.wait()
Вот сам код. Пытаюсь выйти из программы полностью нажав Ctrl + Q, но это не даёт никакого результата, т.к. keyboard.wait() полностью блокнул основной поток
Ответы (1 шт):
Автор решения: Yan Wolf
→ Ссылка
Смотря, что вы пытаетесь воспроизвести. Судя по вашему коду, я бы сделал так:
import keyboard
import sys
def quit_prog():
print("вы вышли из программы")
sys.exit()
print("Выйти из программы: Ctrl + Q")
keyboard.wait('Ctrl + Q')
quit_prog()
или вот еще вариант, я так понимаю именно управлять надо.
import keyboard
def foo():
print('hi')
def foo2():
print('Привет')
def foo3():
print('Привет еще раз')
keyboard.add_hotkey('space + 1', foo)
keyboard.add_hotkey('space + 2', foo2)
keyboard.add_hotkey('space + 3', foo3)
keyboard.wait("Ctrl + q")
print('Любой код, в том числе и выход')