keyPressEvent QKeyEvent es gehen Zeichen verloren

Alles rund um die Programmierung mit Qt
Antworten
Salvator
Beiträge: 10
Registriert: 10. Oktober 2012 16:26

keyPressEvent QKeyEvent es gehen Zeichen verloren

Beitrag von Salvator »

Hallo zusammen,
habe an meinem Pi einen Leser angeschlossen welcher die Daten über die Tastaturschnittstelle sendet also über das QKeyEvent.
Das funktioniert auch wunderbar, bis ich in einem Label QMovie starte, Sobald das Video(kleines .gif) läuft gehen Daten verloren, mal am Anfang, mal in der Mitte, mal fehlt das Ende.
Dachte am Anfang es hätte vielleicht was mit dem Focus der Widgets zu tun, aber dann habe ich das QApplication::notify(..) genutzt

bool CMyApp::notify(QObject *receiver, QEvent *event)
{
try
{
if (event->type() == QEvent::KeyPress)
{
QKeyEvent * keyevent = dynamic_cast<QKeyEvent *>(event);
qDebug() << "Tastencode GO Text >>" << keyevent->text();
qDebug() << "Tastencode GO Key >>" << keyevent->key();
pMainWindow->MyKeyEvent(keyevent);
return(true);

...

aber auch dann gehen noch Daten verloren, daher habe ich nun die starke Vermutung, dass wenn QMovie ?läuft/startet? die Events unterbrochen werden.
So starte ich das Video:

if(pDisplayStart->psVideo == nullptr)
{
pDisplayStart->psVideo = new QMovie(":/Animation/Test.gif");
}
pDisplayStart->psVideo->setSpeed(80);
pDisplayStart->ui->labelSonstiges1->setMovie(pDisplayStart->psVideo);
pDisplayStart->psVideo->start();

Hat hier vielleicht jemand eine Idee, was das Problem sein kann bzw. wie das gelöst werden kann.
Gibt es vielleicht die Möglichkeit Prioritäten zu setzen? So das z.B. QKeyEvent Vorrang vor allen anderen Prozessen hat?

Danke und viele Grüße
Salva
Antworten