There’s a good tutorial about using Python’s unit testing framework with QTest here (old link that does not work anymore. From the WayBackMachine, the page is displayed here).
It isn’t about choosing one or the other. Instead, it’s about using them together. The purpose of QTest is only to simulate keystrokes, mouse clicks, and mouse movement. Python’s unit testing framework handles the rest (setup, teardown, launching tests, gathering results, etc.).