I agree with ChrisW67 - since your actual code is undoubtedly more complex than what you have posted, the error probably lies elsewhere in the code and the crash in QTimer is simply a red herring brought about by the fact that the stack or heap have been corrupted earlier on.

But since the normal connection function will not let the slot know which object it is that has emitted the signal
Not true. See QObject::sender().