Ich habe ein Formular in Qt Designer (mit PyQt5) entworfen. Ich benutze dort ein Line-Edit um einige Eingaben einzugeben. Was ich möchte, ist die Möglichkeit, eine Tastaturkombination (etwas wie Strg + B oder eine der Funktionstasten) in der Zeilenbearbeitung zu verwenden. Sobald diese Combo oder Funktionstaste gedrückt wird, werde ich eine Funktion/Methode ausführen, die den Inhalt der Zwischenablage auf eine "spezielle" Art und Weise einfügen wird (was bedeutet, dass der Wert aus der Zwischenablage gefiltert und angepasst wird).Zuweisen einer Tastenkombination zu QLineEdit von Qt Designer
Es scheint alles einfach, und viele Leute müssen diese Art von Sachen schon einmal gemacht haben. Aber ich war nicht in der Lage, eine einzige, einfache und verständliche Art zu finden, was ich will. Hier ist die Art von Lösung, die ich suche. Im Folgenden ist unter einer Klasse, die die Mainform Code enthält:
self.ui.my_lineedit.keyboard_key_pressed.connect(self.my_func, ctrl+b)
def my_func(self):
pass
ich die keyboard_key_pressed
Teil (und andere) aus für Sie zu verstehen, was ich werde. Gibt es eine einfache Möglichkeit, das zu tun, was ich möchte, wie im obigen Beispiel?
Ich fand diesen Link, der ein bisschen hilft .. aber es ist nicht in Bezug auf Lineedit, es zeigt nur, wie man eine Taste drücken Ereignis auf dem Hauptformular selbst. Auch gibt es keine Informationen über Combos und solche: https://StackOverflow.com/Questions/45308101/how-pyqt5-Keyypressevent-works –
Dieser Link half mir mit den Combos .. Nur noch übrig ist, wie man das alles macht der lineedit Fokus, und nicht das ganze Hauptfenster. https://stackoverflow.com/questions/28204043/how-to-handle-keyboard-shortcuts-using-keypressevent-and-should-it-be-used-fo –