Of course it does work, because QString.h and qstring.h (and as well QSTRING.H or qStRiNg.H) are all the same file. On Unix/Linux these are different files. On the Mac the filesystem usually (default settings) is case-IN-sensitive either, as on Windows.
The recommended way to include directives in C++ in general is
@
#include <QString>
@
i.e. using case (if used in the API docs) and without a trailing .h - this is expected to be portable across all platforms.
If you do differently, you might run into troubles.