J'ai un problème avec la création de dir avec Qt. Je voudrais créer un répertoire dans documents'dir alors, je fais certaines choses comme ça:
QString path("C:/Users/Me/Documents/MyApp/profiles/");
Qdir dir = QDir::root();
dir.mkdir(path);
Mais ça ne marche pas! J'ai testé avec "/" et "\" pour les séparateurs mais dans les deux cas, cela ne fonctionne pas.
Comment je peux créer mon répertoire?
Je vous remercie.
Essayez d'utiliser QDir::mkpath
comme dir.mkpath(path);
Tu peux le faire:
QDir dir(path);
if (!dir.exists()){
dir.mkdir(".");
}
QDir dir = QDir::root()
crée une instance de QDir
configurée pour pointer vers la racine et copie ce paramètre dans dir
. Pour éviter la copie et le code supplémentaires, vous pouvez utiliser QDir dir(QDir::root);
. Sous Windows, il pointe vers la racine du lecteur système, généralement C:\
.
dir.mkdir(path);
tentera de créer un sous-répertoire nommé path
dans le répertoire actuellement configuré (racine). Cette méthode attend un nom de répertoire unique et non un chemin d'accès complet. Il renvoie également un résultat bool
que vous devriez vérifier.
Vous voudrez probablement appeler dir.mkpath(path)
qui tentera de créer le sous-répertoire spécifié ainsi que tous les répertoires parents nécessaires y conduisant. Encore une fois, vous devriez vérifier le résultat pour voir s'il a réussi.
veuillez vérifier les liens suivants où ils ont décrit comment créer le nouveau répertoire.
http://www.qtcentre.org/threads/19253-QDir-mkpath
http://www.qtforum.org/article/2210/qdir.html
http://www.developer.nokia.com/Community/Wiki/How_to_use_QDir_in_Qt