我在 Qt 5 中找不到任何函数来确定 QtWebEngine
使用哪个 Chrome 版本| .
我不想在我的代码中对 Chromium 版本进行硬编码,因为我经常更新我的应用程序,并且 Chromium 版本通常在每个版本中都会更改。而且 Qt 是向后兼容的,可以在不更新我的应用程序的情况下更新它。
最佳答案
没有直接的解决办法,只能看 the source code可以看到它是用来设置默认用户代理的:
std::string ContentBrowserClientQt::getUserAgent()
{
// Mention the Chromium version we're based on to get passed stupid UA-string-based feature detection (several WebRTC demos need this)
return content::BuildUserAgentFromProduct("QtWebEngine/" QTWEBENGINECORE_VERSION_STR " Chrome/" CHROMIUM_VERSION);
}
因此可以从该数据中提取:
QString version;
QString user_agent = QWebEngineProfile::defaultProfile()->httpUserAgent();
for(const QString & text : user_agent.split(" ")){
if(text.startsWith(QStringLiteral("Chrome/"))){
version = text.mid(QStringLiteral("Chrome/").length());
}
}
qDebug().noquote()<< "Qt version:" << QT_VERSION_STR << "chromium version:" << version;
输出:
Qt version: 5.14.2 chromium version: 77.0.3865.129
关于qt - 如何在运行时确定 QtWebEngine 在 Qt 5 中使用哪个 Chrome 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62111129/