我希望我的应用程序是跨平台的,并在用户文档文件夹中创建一个目录。我从QStandardPaths那里得到的。从该字符串创建 QUrl 时,它会变为 c/path/to/documents/
而不是所需的c:/path/to/documents
。
创建
QUrl
时,":"之前的字符串被解释为 URL 协议。若要创建一个指向本地文件的文件,应使用fromLocalFile
静态方法:
qDebug() << QUrl::fromLocalFile("c:\path\to\documents");
此代码将打印以文件协议前缀开头的正确 URL:
QUrl("file:///C:/path/to/documents")
您还有isLocalFile
和toLocalFile
方法。