Whitefurrows hat geschrieben:Nachfolgend ein Beispiel:
Code: Alles auswählen
void MyWidget::keyPressEvent(QKeyEvent* e)
{
if (e == QKeySequence::Copy)
// ...
else if (e == QKeySequence(Qt::CTRL + Qt::Key_J))
// ... wie kann ich diese QKeySequence prüfen?
}
Das Problem an deinem Beispiel ist ja, dass operator== so definiert ist:
Code: Alles auswählen
bool operator== ( QKeyEvent * e, QKeySequence::StandardKey key )
also zum Vergleich ein StandardKey benötigt wird.
Aus der Doku zu QKeyEvent geht hervor, dass diese Klasse zwei Methoden anbietet, die für dich interessant sein sollten:
* int key () const
* Qt::KeyboardModifiers modifiers () const
Mit den Methoden solltest du prüfen können, ob CTRL als Modifier existiert, ebenso, ob J unter den Keys ist.