File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ from utils .display_utils import DisplayUtils
2+ from re import match
3+ from PySide6 .QtWidgets import QWidget
4+ from PySide6 .QtCore import QEvent , QObject
5+ from PySide6 .QtGui import QKeyEvent
6+
7+ class KeyboardUtils (QObject ):
8+ def __init__ (self , parent : QObject , displayUtils : DisplayUtils ):
9+ super ().__init__ (parent )
10+
11+ self .displayUtils = displayUtils
12+
13+ def eventFilter (self , window : QWidget , event : QEvent ) -> bool :
14+ if event .type () == QEvent .Type .KeyPress :
15+ eventKey = QKeyEvent (event ).key ()
16+ eventText = QKeyEvent (event ).text ()
17+
18+ if eventKey == 16777220 :
19+ self .displayUtils .calculate ()
20+ return True
21+ if eventKey == 67 :
22+ self .displayUtils .clear ()
23+ return True
24+ if eventKey == 16777219 :
25+ self .displayUtils .delete ()
26+ return True
27+ if bool (match (r"[0-9]|\.|\+|-|x|/|%" , eventText )):
28+ self .displayUtils .insert (eventText )
29+ return True
30+ return False
You can’t perform that action at this time.
0 commit comments