Seite 1 von 1

Qt4: QKeyEvent generieren.

Verfasst: 30. Oktober 2009 15:48
von nando
Hi,
ich generiere ein QKeyEvent und sende es an ein QLineEdit.

das Event kommt auch an, dass sehe ich in keyPressEvent
meine LineEdit Klasse.
Ich rufe auch die Basismethode auf QLineEdit::keyPressEvent...

Leider tut sich im LineEdit nix.
Hab ich was vergessen?

Beispiel:

Code: Alles auswählen

QKeyEvent keyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A");
QApplication::sendEvent(m_pReceiver, &keyEvent);

Das Event kommt auch an:

Code: Alles auswählen

void
LineEdit::keyPressEvent(QKeyEvent *pKeyEvent)
{
 LOG4CXX_DEBUG(logger, "keyPressEvent: key=" << pKeyEvent->key() << " modifier" << pKeyEvent->modifiers()
 < " text=" << pKeyEvent->text().toStdString());

QLineEdit::keyPressEvent(pKeyEvent);
}

Aber die LineEdit wird nicht aktuallisiert?
Habe es auch schon mit anderen Modifiern probiert...

Any ideas?

gruss,
Nando

Re: Qt4: QKeyEvent generieren.

Verfasst: 30. Oktober 2009 18:31
von neuschi
nando hat geschrieben: Leider tut sich im LineEdit nix.
Hab ich was vergessen?
Ich habe das gerade mal nachgebaut, funktioniert ohne Probleme, insofern muss bei dir noch irgendwo anders was im Argen sein.

Code: Alles auswählen

void
LineEdit::keyPressEvent(QKeyEvent *pKeyEvent)
{
 LOG4CXX_DEBUG(logger, "keyPressEvent: key=" << pKeyEvent->key() << " modifier" << pKeyEvent->modifiers()
 < " text=" << pKeyEvent->text().toStdString());
Dass hier vor dem "text" nur ein "<" steht ist ein Fehler beim Übertragen, oder?

\Ralf