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/Instuctionsforus‌​e.pdf"); 

Вы можете проверить, правильно ли это с:

 qDebug() << localfile.toLocalFile();
Другие вопросы по тегам