Qt4: QKeyEvent generieren.

Alles rund um die Programmierung mit Qt
Antworten
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Qt4: QKeyEvent generieren.

Beitrag 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
neuschi
Beiträge: 78
Registriert: 23. Mai 2007 10:59

Re: Qt4: QKeyEvent generieren.

Beitrag 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
Antworten