Как получить системный браузер по умолчанию?

Есть ли интерфейс Qt, чтобы получить системный браузер по умолчанию?

Я хочу открыть file:// URL явно в браузере вместо системного приложения по умолчанию, поэтому QDesktopServices:: openUrl не подходит из-за

Если URL является ссылкой на локальный файл (т. Е. Схема URL является "файлом"), то он будет открыт с помощью подходящего приложения вместо веб-браузера.

1 ответ

Для вашего конкретного приложения вы должны использовать веб-движок, который поставляется с Qt:

QWebEngineView *view = new QWebEngineView{parent};
view->load(QUrl{"file://...."});
view->setWindowFlags(Qt::Window);
view->setAttribute(Qt::WA_DeleteOnClose);
view->show();

Если HTML-код достаточно прост, используйте текстовый браузер:

QTextBrowser *view = new QTextBrowser{parent};
view->setSource(Qurl{"file://...."});
view->setWindowFlags(Qt::Window);
view->setAttribute(Qt::WA_DeleteOnClose);
view->show();
Другие вопросы по тегам