1
是否有Qt接口来获取系统的默认浏览器?如何获取系统的默认浏览器?
我想在浏览器,而不是系统的默认应用程序明确地打开一个file://
网址,所以QDesktopServices::openUrl是不是因为
的方式。如果URL是本地文件的引用(即, URL方案是“文件”),那么它将用合适的应用程序而不是Web浏览器打开。
是否有Qt接口来获取系统的默认浏览器?如何获取系统的默认浏览器?
我想在浏览器,而不是系统的默认应用程序明确地打开一个file://
网址,所以QDesktopServices::openUrl是不是因为
的方式。如果URL是本地文件的引用(即, URL方案是“文件”),那么它将用合适的应用程序而不是Web浏览器打开。
对于特定的应用程序,你应该使用自带的Qt web引擎:如果HTML是很简单的
QWebEngineView *view = new QWebEngineView{parent};
view->load(QUrl{"file://...."});
view->setWindowFlags(Qt::Window);
view->setAttribute(Qt::WA_DeleteOnClose);
view->show();
,使用文本浏览器:
QTextBrowser *view = new QTextBrowser{parent};
view->setSource(Qurl{"file://...."});
view->setWindowFlags(Qt::Window);
view->setAttribute(Qt::WA_DeleteOnClose);
view->show();
你不应该真正取代了系统设置。你为什么试图强迫你的手?你在说什么类型的文件? – peppe
许可证文件(.html)不应在任何IDE或文本编辑器中打开,但应呈现。 –
那么,如果用户决定设置一个IDE来打开'html'文件,那么这就是她的问题,我会说...这是HTML控件的内容吗?你可以让它“足够简单”由QTextBrowser渲染。 (或者用您的应用程序全押并发布WebKit/Chromium)。 – peppe