我将使用QFile::copy
函数复制一个文件,但此函数始终返回false并且errorString
表示:
"Cannot open D:/tmp/buf34.txt for input"
我尝试使用管理员权限运行此程序,但没有任何更改。我的代码非常简单:
QString source = url.toLocalFile();
QString destination = _dir.absolutePath()
+ QString("/%1").arg(QFileInfo(source).fileName());
qDebug()<<"Cp from :" << source << " to : "<< destination;
QFile file(source);
qDebug()<<file.copy(destination);
qDebug()<<file.errorString();
修改
我有一个QFileSystemModel
占用的QListView。我尝试将此ListView中的一个文件拖到QLabel。对于QLabel,设置目标路径。在drop事件中,我尝试复制文件。
答案 0 :(得分:2)
QFile::copy
使用QFile::open
,但会覆盖您所获得的无用open
错误消息"Cannot open %1 for input"
。
因此,您应该尝试自己打开文件以获取原始错误消息:
qDebug()<<file.open(QFile::ReadOnly);
qDebug()<<file.errorString();