IQ data QPSK Demodulation
I suspect you're not doing symbol synchronization. You need to synchronize and then sample the output of your receiver filter at the correct times. Only then will you see the tradiational constellation diagram. Look for "Gardner algorithm" on this website; another well-known algorithm is Mueller and Muller.

One thing you can do to get confidence that your signal is correct is to plot its eye diagram. If the eye is open, then all you need to do is synchronize and sample. If it's closed, you have a different problem.