QTimer recursively called

i am programming a desktop app and i am executing a QTimer every X minutes. Once is trigered i use HTTP get request to retrieve some information and program a schedule to launch videos into QML using dynamic number of Qtimers again and is working fine but only if i only if the first QTimer is launched once.

If I understand you right, you want the QTimer to "fire" exactly once, rather than periodically. So just set QTimer::setSingleShot() to true and that's it. There should be no need to re-invent QTimer yourself by using a separate thread...

(BTW: If you allocate a new QTimer instance for each file, you'll still have to delete the "old" instances that are no longer needed, to avoid memory leak! But maybe you can just work with a single QTimer instance and re-use it?)

You are creating the QTimer's in "single shot" mode, so they are guaranteed to not execute again. Also, since each timer will fire eventually (and exactly once), each timer will be deleted eventually (and exactly once).

And if you really need to delete all timers immediately, even timers that have not fired yet, simply put pointers to all timers that you create into a QList<QTimer*>. This way it will be trivial to delete them all...