2

有没有获取系统默认浏览器的Qt界面?

我想file://在浏览器中显式打开一个 url 而不是系统的默认应用程序,所以QDesktopServices::openUrl不是因为

如果 URL 是对本地文件的引用(即 URL 方案是“文件”),那么它将使用合适的应用程序而不是 Web 浏览器打开。

4

1 回答 1

0

对于您的特定应用程序,您应该使用 Qt 附带的 Web 引擎:

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();
于 2016-08-15T18:29:09.700 回答