2016-06-22 6 views
0

Я PyQT первокурсник я использую PYQT5 и Python3.x на Raspberry Pi 3мы можем прочитать индикатор Num Lock на PyQt rapsberry

Update

извините за предыдущий вопрос

вопрос:

Как я могу узнать, включен ли цифровой замок? Для просто, я хочу, чтобы:

  • печати («NumLock включен») # если режим цифрового без каких-либо клавишей, нажатых до или с помощью keypressevent.
  • еще печать («NumLock выключен») # если NumLock выключен
+0

Действительно ли это дубликат? На мой взгляд, это не так, ключ sdpect - PyQT. – Ellioh

ответ

0

Вы можете написать функцию на главной форме, чтобы поймать все события нажатия клавиш, и фильтр ключ NumLock, как это:

class Form(QDialog, Some_Form): 
    ... 
    def keyPressEvent(self, event): 
     ''' Get key press event ''' 

     if event.key() == Qt.Key_NumLock: 
      do_something() 

Редактировать: Как указано в комментарии, это не будет регистрировать изменения, если окно не имеет фокуса.

Насколько я могу судить, pyqt не имеет функции статуса для numlock и capslock. Вероятно, лучший способ сделать это - реализовать this if you are on linux и this if you run windows.

+1

Это не приведет к нажатию клавиш, когда окно не имеет фокуса, поэтому вы не будете правильно отслеживать состояние (и не сообщают вам об исходном состоянии). –

+0

@ три ананаса. Я хочу, чтобы я обнаружил numlock индикатор на программе, начинающийся без какого-либо нажатия клавиши –