The QFile API is fine for fast local filesystems (e.g. hard drive on a desktop), but can block the thread for some time when used on a slow filesystem.
For example, mounted network drives in desktops or MMC cards in mobile phones can sometimes take a long time to complete an I/O request.
Unix has non blocking mode + select()
Windows has "overlapped IO"
Symbian (if it gets a Qt5 port) has active objects.
Each case works well with the event dispatcher for the OS in question, so it's mainly a question of having a good API.