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 のみでも試しましたが、結果は同じでした。