本文主要是介绍QUrl 和 QFile,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近设计了一个Qml 文件对话框用来创建文件,然后将这个文件路径传递给C++的extensionplugin去写本地文件。
但是Qml 文件对话框返回了一个QUrl给我,形如:
file:///C:/uuuu.a3
我想要的只是本地文件格式:C:/uuuu.a3
在C++代码中,QUrl类可以帮助做这个转换。
用Url路径构造一个QUrl对象, 然后调用toLocalFile方法去获得一个真正的本地文件路径
例子如下:
void Test::setPath(QString const& path) {QUrl url(path);projectFilePath_ = url.toLocalFile();QFile file(projectFilePath_);if (!file.exists()) {if (!file.open(QIODevice::ReadWrite | QIODevice::Text)) {QString error_msg = file.errorString();return;}QTextStream out(&file);out << "test" << "\n";file.close(); }
}
另外,上面的片段也展示了如何在本地磁盘上用QFile & QIODevice & QTextStream 来创建和写入一个文本文件。
这篇关于QUrl 和 QFile的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!