我在使用 QDesktopServices::openUrl() 函数打开文件时遇到问题。
我有一个生成文件绝对地址的代码,但是当我尝试运行它时,我得到了 shellExecute 错误 2。
这是我正在使用的代码:
void openFileMainWindow::runSong() {
QAction *act = qobject_cast<QAction *>(sender());
QString addr = "file:///";
addr.append(QString(act->data().toString()));
QByteArray tempArray = addr.toUtf8();
const char * addrW = tempArray.data();
QMessageBox::warning(this, tr("Info"), tr("You are trying to open file:\n%1").arg(addrW), QMessageBox::Ok);
QDesktopServices::openUrl(QUrl(addrW, QUrl::TolerantMode));
}
当我尝试手动将路径写入“file:///.../file.mp3”时,它运行良好,但为什么生成的地址不是?我也仅使用 QString addr 进行了尝试,但结果相同。