QFile ne reconnaît pas le fichier:/// chemin d'accès d'url format
- Je obtenir le chemin d'accès au fichier de Qml comme ceci:
mainView.projectFilePath = Qt.resolvedUrl(newProjectFileDlg.fileUrl).toString();
Ci-dessus chemin d'accès du fichier ressemble à ceci: file:///C:/uuuu.a3
Mais quand ce chemin est passé à QFile, il se plaint
The filename, directory name, or volume label syntax is incorrect
Comment résoudre ce problème?
OriginalL'auteur Dean Chen | 2014-01-07
Vous devez vous connecter pour publier un commentaire.
QString n'a pas été conçu pour une url canonique représentation. C'est une chaîne de classe existantes, principalement en raison de l'utf cas d'utilisation.
Ce que vous cherchez est QUrl qui a été conçu pour l'utilisation de tels cas. Passer votre chemin, puis obtenir le "QFile lisible" chemin d'accès de celui-ci, puis la passer à QFile.
Vous aurez besoin d'utiliser la méthode suivante pour la conversion avant de passer le chemin d'accès à QFile:
QUrl( "file:///C:/myfile.txt" ).toLocalFile();
fait la conversion à"C:/myfile.txt"
tout fromLocalFile semble juste d'ajouter"file:///"
. Voir aussi cette réponse ci-dessous.OriginalL'auteur lpapp
C'est probablement ce dont vous avez besoin. Il sera de retour "C:/uuuu.a3" dans votre cas.
OriginalL'auteur claudiub
Quoi de plus ennuyeux que QML n'ont pas ce genre de choses. J'ai créé une fonction d'aide qui peut être appelée à partir de la QML:
Qui n'est tout simplement ceci:
OriginalL'auteur gremwell
Ont un coup d'oeil à
QDir::toNativeSeparators(QString)
OriginalL'auteur Sadat