如何将文件移动到Qt中的另一个现有目录

How to move a file to another existing directory in Qt

本文关键字:另一个 Qt 文件 移动      更新时间:2023-10-16

我是Qt的初学者,我项目的一部分是将现有文件移动到另一个现有目录?有人可以给我一个具体的例子吗?我不确定我是否应该使用 Qfile::rename((。我试着这样写

QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt"); 

但错误是不能在没有对象的情况下调用成员函数'bool QDir::rename(const QString&, const QString&(' QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt"(; ^

对不起,伙计们,都是我的错,我问了一个如此不清楚和愚蠢的问题,我很抱歉浪费了你的时间,我是一个初学者,在我问这个问题之前,我真的真的没有注意到这个问题以前被问过,因为我的水平很低。因为我太天真了,我不能再问问题了,所以请,请原谅我问这个问题,我压力太大,因为我在一家公司实习,我的项目对我来说很辛苦,所以我别无选择地做这样浪费你时间的事情,最后,我想对那些看过我问题的人说声谢谢。

根据文档:

bool QFile::rename(const QString & newName(

将当前由 fileName(( 指定的文件重命名为 newName。返回 如果成功,则为 true;否则返回假。

在您的情况下,您必须执行以下操作:

QFile file("/home/joshua/test.txt");
file.rename("/home/joshua/test/test_c.txt");

QDir::rename()QDir的实例方法,因此您需要一个QDir对象来调用它(并且此目录将是传递文件名的基础(。 对于您的示例,如下所示:

QDir d("/home/joshua");
bool renamed = d.rename("test.txt" , "test/test_c.txt");

您将需要使用返回值。

或者,您可以使用QFile::rename()- 默认目录是进程的当前工作目录。