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_())