Как остановить основной поток?

Есть в программе 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('Любой код, в том числе и выход')
→ Ссылка