qt QUrl Открытие PDF
Я пытаюсь открыть файл PDF с приложением по умолчанию через класс Qt "DesktopServices".
Но я придумаю ShellExecute
'file:///C:/PMPS/PMPSv1/Instuctionsforuse.pdf' failed (error 2). problem.
Вот мой код:
#include <QDesktopServices>
#include <QUrl>
}
void Dialog::guideButtonClicked()
{
QDesktopServices::openUrl(QUrl("file:///C:/PMPS/PMPSv1/Instuctionsforuse.pdf"));
}
1 ответ
Решение
Если у вас уже есть обработчики в вашем URL (например, file://
и т.д.), или если ваш URL-адрес уже закодирован и должен использоваться без каких-либо преобразований и изменений, используйте функцию QUrl:: fromUserInput. Когда строка не является действительным URL-адресом, выполняется наилучшее предположение, делая различные предположения, связанные с Интернетом.
QUrl localfile = QUrl::fromUserInput("file:///C:/PMPS/PMPSv1/Instuctionsforuse.pdf");
Вы можете проверить, правильно ли это с:
qDebug() << localfile.toLocalFile();