質問レスじゃなく、愚痴みたいなものだけど。
QDirって、ディレクトリじゃなくてファイルを扱わせると直感的じゃない動きをするよな。

QDir fullpath = QDir(path);
QString name = fullpath.dirName();
QDir dir = fullpath.absolutePath().left(fullpath.absolutePath().length()-name.length());

例えばこんなふうに書かないといけない。