QUrl 和 QFile

来源:互联网 发布:ssh项目源码和视频讲解 编辑:程序博客网 时间:2024/05/15 08:46

最近设计了一个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 来创建和写入一个文本文件。


0 0