Frage

Ich brauche zwei Verknüpfungen zu einem QAbstractButton zuweisen, aber ich kann nicht einen Weg zu tun, dass finden.

Es scheint die einzige Methode ist QAbstractButton :: setShortcut (const QKeySequence & Taste).

Ist es möglich?

War es hilfreich?

Lösung

QAbstractButton nur eine Abkürzung Sequenz akzeptieren. Versuchen Sie geben in QtDesigner wie Alt + A & Alt + Z abzukürzen, und Sie werden sehen, dass Sie Alt + A und Alt + Z auszuführen Verknüpfung zu tun haben. So können Sie nicht erreichen 2 Verknüpfungen haben, wie Sie wollen.

Aber es gibt eine Lösung:

Alle QObject haben eine Funktion namens event , dass alle Ereignisse empfängt. Sie können Ihre eigene Klasse erstellen, die von der Klasse Button erbt (QPushButton etc. oder direkt von QAbstractButton, wenn Sie eine persönliche Taste haben wollen) mit einer Liste von QShortcutSequence (oder ein Paar, wenn Sie nur 2 Verknüpfungen wollen) und neu implementieren die Funktion des event QShortcutEvent zu verfolgen. Vergessen Sie nicht, alle anderen Ereignisse zu lösen seinen Prozess von den Eltern Klassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top