I was afraid of the QTimer can be executed in same time and then make a conflict but if you say that can never happen, then certainly it's safe.
This is a QTimer which is not one-shot and which has the start using 0 as time parameter to have it refresh at maximum speed.
Something I noticed is if I activate the VSync of the swap chain of Direct3D, I don't have the FPS lock at 60FPS.
I tried to change the QTimer to one shot and start at the end of the frame rendering but still not 60FPS lock.
Normally the VSync block the update at the end of the rendering and you have 60FPS...