Buy Me a Coffee? Your support is much appreciated!
PayPal Me: https://www.paypal.me/jiejenn/5
Venmo: @Jie-Jenn
Source Code:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QKeySequenceEdit, QPushButton, QHBoxLayout
from PyQt5.QtGui import QKeySequence
class KeySequenceEdit(QKeySequenceEdit):
def keyPressEvent(self, event):
super().keyPressEvent(event)
sequenceString = self.keySequence().toString(QKeySequence.NativeText)
if sequenceString:
last_key_stroke = sequenceString.split(',')[-1].strip()
self.setKeySequence(QKeySequence(last_key_stroke))
class Detector(QWidget):
def __init__(self):
super().__init__()
self.resize(1000, 130)
mainLayout = QHBoxLayout()
self._keysequenceEdit = KeySequenceEdit()
mainLayout.addWidget(self._keysequenceEdit)
button_clear = QPushButton('Clear', clicked=self._keysequenceEdit.clear)
mainLayout.addWidget(button_clear)
button_print = QPushButton('Print')
button_print.clicked.connect(self.get_value)
mainLayout.addWidget(button_print)
self.setLayout(mainLayout)
def get_value(self):
sequence = self._keysequenceEdit.keySequence()
sequenceString = sequence.toString(QKeySequence.NativeText)
if sequenceString:
print('Key stroke: {0}'.format(sequenceString))
app = QApplication(sys.argv)
app.setStyleSheet("""
QLineEdit {font-size: 25px; height: 40px;}
QPushButton {font-size: 25px; height: 40px;}
""")
demo = Detector()
demo.show()
sys.exit(app.exec_())