Its a small sample size, but out of the 6 Qatar flights that I have taken in the last 6 months, all have been on time or early! I think its a combination of extra padding in the scheduled flight times and early boarding times (typically one hour before departure)
So 4 hours should be enough time, especially if you happen to land outside the busy periods.