У меня есть приложение PyQt, которое должно реагировать при нажатии некоторых аппаратных кнопок на Raspberry Pi.
Следуя рецептам здесь , я могу вызвать обратный вызов при нажатии кнопки.
from gpiozero import Button
from signal import pause
def say_hello():
print("Hello!")
button = Button(2)
button.when_pressed = say_hello
pause()
Как лучше всего интегрировать это в цикл обработки событий PyQt?
Я могу думать только о вращении отдельного потока, который прослушивает кнопку, используя приведенный выше код, или просто опрашивает, а затем вызывает Core.QTimer.singleShot()
, чтобы добавить новое событие в очередь событий. Есть ли более естественный / менее тяжелый способ сделать это?