QTimer relies on the event loop, so if your application is busy doing something else that also generates a lot of events, the execution of the timer's timeout signal may be delayed. If QAudioOutput works in such a way that two start events are triggered in quick succession, the first one might be ignored. Same way paint events work, possibly.

Since a metronome obviously needs high precision in sounding its beats, you may need to set the priority of the metronome thread to be higher than normal so that it gets better service than the GUI thread.