Rozhodol som sa konečne odskúšať PyQt5. Hneď prvý problém som mal s odchytávanie šípiek na klávesnici.
Metóda:
def keyPressEvent(self, event): print(">>>", event.key())
v pohode odchytáva všetky klávesy okrem šípiek.
Ako schodné riešenie mám teraz napísané toto a funguje to:
switch_left = QShortcut(QKeySequence(Qt.Key_Left), self) switch_left.activated.connect(self.arrowLeft) switch_right = QShortcut(QKeySequence(Qt.Key_Right), self) switch_right.activated.connect(self.arrowRight) def arrowLeft (self): print ("<<<") def arrowRight (self): print (">>>")
Chcem sa spýtať, neexistuje nejaké správnejšie riešenie ako na to?
Šípky a tabulátor sú klávesy používané na navigáciu medzi widgetmi. Väčšinou ho odchytáva widget na najvyššej úrovni. Predpokladám, že by sa to správne malo riešiť cez event filtre.
To som skúšal aj predtým aj teraz zas a nejde. Zrejme mám dostatočne imúnny muzog na to pochopiť vo co go.
Inak používam QMediaContent, QMediaPlayer a mám na ne tak trochu podozrenie, či ten event niekde netopia.