我发现了一些关于这个主题的帖子,但是逐字使用并稍加修改的代码给了我一个错误。我有一个名为COPYING的.docx
文件存储在资源文件夹中的/前缀中。我想用系统使用的任何默认单词编辑应用程序(很可能是Word)打开此文件。
下面的代码给了我这个错误
ShellExecute'file:/// C:/Users/john/AppData/Local/Temp/COPYINGtemp.docx'失败(错误2)。
`问题可能是setFileName实际上并没有改变文件的位置?或者似乎复制方法实际上没有做任何事情(调试时我已经查看了qrc目录和临时目录,没有任何东西)。复制bool导致错误
QFile::copy(":/resources/COPYING.docx", ":/resources/COPYINGTemp.docx");
QFile GNULicenseCopyFile(":/resources/COPYINGtemp.docx");
const QString GNULicenseCopyDirectory = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
GNULicenseCopyFile.setFileName(GNULicenseCopyDirectory + "/COPYINGtemp.docx");
QDesktopServices::openUrl("file:///" + GNULicenseCopyDirectory + "/COPYINGtemp.docx");
下面的代码给出了相同的错误
const QString GNULicenseCopyDirectory = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
QFile::copy(":/resources/Copying.docx", GNULicenseCopyDirectory + "/COPYINGtemp.docx");
QDesktopServices::openUrl("file:///" + GNULicenseCopyDirectory + "/COPYINGtemp.docx");