In Qt if I have nested QMaps similiar to the following:
QMap<int, QMap<int, QMap<int, int*>* >* >
Will one call to qDeleteAll take care of recursively cleaning up the memory or do I have to make multiple calls to qDeleteAll manually by iterating over each container?
As you are using ordinary pointers, you need to take care of recursively cleaning up the memory yourself.
If you want the memory to be cleaned automatically, use smart pointers instead. Qt has a wide variety of those available: Qt Smart Pointers
I believe that QScopedPointer and QSharedPointer are the ones that may interest you the most.