Il y a plusieurs avantages à la compilation statique : léger gain en rapidité et une facilité de déploiement déconcertante (un seul exécutable qui comprend l'application ainsi que les bibliothèques de Qt et MinGW).
Par contre le poids du binaire généré sera bien plus lourd, vous pourrez toujours le réduire à l'aide d'UPX.


Du côté de Qt

Avant toute chose, mettez un pack de bières au frais.

Ensuite, il faut compiler un Qt statique, ce qui n'est pas bien compliqué. Assurez-vous d'avoir les binaires de MinGW dans le PATH.
Les opérations à venir se passeront dans le dossier contienant Qt, disons C:\Qt\4.8.4.
Éditez le fichier mkspecs\win32-g++\qmake.conf et modifiez la ligne qui contient QMAKE_LFLAGS :

QMAKE_LFLAGS = -static -static-libgcc

Puis dans une console, tapez :

> cd C:\Qt\4.8.4
> configure.exe -static -release -no-exceptions -opensource -nomake demos -nomake examples
> mingw32-make

Ceci prendra un bon moment, vous pouvez entamer la bière si ce n'est déjà fait.
Les arguments "-nomake demos -nomake examples" sont optionnels, ils permettent de zapper la compilation des exemples et démos qui prennent un temps fou.
Il est possible d'activer/désactiver des fonctionnalités/plugins, essayez la commande :

> configure.exe help

Du côté du projet

Vous êtes encore assez frais ? Bon, éditez le fichier .pro de votre projet et ajoutez cette ligne :

CONFIG += static

Compilez en mode release... C'est terminé !

Plus d'informations : Quand et comment réaliser une compilation "statique"? et Building static applications.