c++ - Qt - 如何使用 QFile::copy 使用 QFileDialog 复制文件?

标签 c++ qt qt-creator

QString filename = QFileDialog::getOpenFileName(this,tr("Pdf files"), "C:/", "books(*.pdf)");

我想从QFileDialog 中获取选定的文件并将其复制到我的桌面。我可以使用这样的东西吗?

QFile::copy(filename,"desktop");

最佳答案

您需要使用 QStandardPaths 获取桌面路径,然后在调用 QFile::copy 时使用该路径。

假设您想在复制时保留文件名,您的代码将如下所示:

QString filePath = QFileDialog::getOpenFileName(this ,
                                                QObject::tr("Pdf files"),
                                                "C:/", "books(*.pdf)");
QFileInfo fi(filePath);
QString fileName= fi.fileName();
QString desktopPath = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);
QString destinationPath= desktopPath+QDir::separator()+fileName;
if(QFile::copy(filePath, destinationPath))
    qDebug() << "success";
else
    qDebug() << "failed";

关于c++ - Qt - 如何使用 QFile::copy 使用 QFileDialog 复制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39169530/

相关文章:

c++ - 当 C++ 动态链接函数抛出终止异常时,如何防止 Octave 终止?

c++ - 从类中的对象调用类中函数的最佳方法

c++ - 是否可以模拟或重载对 Boost::Filesystem(.hpp) 的直接引用?

c++ - 如何在布局中安排 QCamera 与其他小部件?

c++ - 如何保证通过QNetworkAccessManager下载的文件没有损坏?

qt - 向 QString 添加常量

c++ - 如何从 QPushButton 恢复项目?

java - 需要关于如何从图表中存储大数据的建议

Qt4 如何在小部件内部绘图?

css - QT5 样式 QPushButton 以移除其周围的空间