使用openUrl()打开.qrc资源文件

时间:2017-08-22 02:42:59

标签: c++ qt qprocess

我发现了一些关于这个主题的帖子,但是逐字使用并稍加修改的代码给了我一个错误。我有一个名为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");

0 个答案:

没有答案