This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Qt 5.1.0 QTimer not Triggering

I have built Qt 5.1.0 for AM335x platform w/ EGLFS and have been doing some testing and remote debugging with it.  I just found that QTimer doesn't seem to be triggering.  It seems the timer is running (remainingTime decreases to 0 when checked from a loop).  However, the value never resets to the interval and the attached slot never executes.  I get no warnings or messages during the build.

If I switch the project to my PC host, build, and run, the QTimer is running as expected.  Why would QTimer not run its slot on the target platform?

I might have to debug the Qt source code, which doesn't sound like fun...

  • Still looking for help, but I seem to have found a few things to at least make something work:

    1) Don't use private slots (wasn't a problem in Qt 4.8 though)

    2) It only works if I move the QObject that start the QTimer to a new QThread.

    There must still be some buggy behavior in the EGLFS/QPA system...

  • OK, it looks like the QApplication event loop is not running as in debug the code never gets to last line of main.c: return a.exec().

    I just setup another Qt Console project and it runs fine.  Must be something to do with QApplication.  Possibly it's because I have no input devices (no mouse or touch drivers loaded on my target currently).

  •  Possibly it's because I have no input devices (no mouse or touch drivers loaded on my target currently).  

    --> this will not make any impact on your issue.