如何确定 Qt 5 中的 QtWebEngine 在运行时使用的是哪个 chromium 版本?

2024-03-21

我在 Qt 5 中找不到任何函数来确定使用哪个 chromium 版本QtWebEngine.

我不想在代码中硬编码 chromium 版本,因为我经常更新我的应用程序,并且每个版本中的 chromium 版本通常都会更改。而且 Qt 是向后兼容的,可以在不更新我的应用程序的情况下更新它。


没有直接的解决方案,但看看源代码 https://code.qt.io/cgit/qt/qtwebengine.git/tree/src/core/content_browser_client_qt.cpp#n1036可以看到它是用来设置默认用户代理的:

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;

Output:

Qt version: 5.14.2 chromium version: 77.0.3865.129
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定 Qt 5 中的 QtWebEngine 在运行时使用的是哪个 chromium 版本? 的相关文章

  • 使用带有 MSVC 2015 编译器的 QT Creator 5.8

    我是新来的C 和编程 我正在尝试做一个小项目 使用Qt and Qt Creator 我当时用的是MinGW compiler 但对于这个项目 我需要与MSVC compiler 因为我需要使用QtWebEngineWidgets I ha
  • 无法锚定到不是父级或同级 QML QtQuick 的项目

    我正在使用 QML 开发 python 桌面应用程序 我的 QML 文件中有这个 SplitView anchors fill parent orientation Qt Horizontal Rectangle color 272822
  • QObject:无法为位于不同线程中的父级创建子级

    我在 Windows 7 Ultimate 下使用 Qt 4 6 0 32 位 考虑以下QThread 界面 class ResultThread public QThread Q OBJECT QString post data QNet
  • 使用 Qt 在 xoverlay 之上绘制

    我希望在使用 Xoverlay 渲染的视频流之上绘制一些 UI 我正在使用 gstreamer 播放视频并使用 xoverlay 在 xvimagesink 上渲染它 我的小部件继承自 QGLWidget 我希望使用 QPainter 绘制
  • QDomDocument 无法设置带有 标记的 HTML 文档的内容

    当我使用QDomDocument对于 HTML 内容 如果存在则无法设置内容在文档的开头 但实际上为什么 例如 考虑以下代码片段 QDomDocument doc QString content a href bar foo a qDebu
  • 是否可以在切换 QTreeWidgetItem 复选框时创建信号?

    我使用下面的代码创建了一个也是 QTreeWidgetItem 的复选框 Populate list QTreeWidgetItem program createCheckedTreeItem QString fromStdString i
  • QMainWindow::showMaximized() 不更新大小

    我正在尝试创建一个QMainWindow封装一个QGraphicsView我把它放进去 我希望它一开始就最大化 所以我这样做 QMainWindow mainWindow new QMainWindow mainWindow gt setW
  • 为 Visual Studio 2012 编译 Qt 4.8.x

    我应该采取哪些步骤来编译适用于 Visual Studio 2012 的 Qt 版本 4 8 x 我已经仔细遵循了已接受答案中的说明这个问题 https stackoverflow com questions 5601950 how to
  • 如何设置 Xcode 来代替 Qt Creator 工作?

    我不使用 Qt Creator 的 UI 设计功能 对于一个新项目 我想体验一下使用 Xcode 的工作 这将是一个常规的 Qt 项目 使用 C 和 Qt 库开发 就像在 Qt Creator 中一样 我没有使用 OS X 尤其是 Xcod
  • 如何使用 Qt Test 控制 QFileDialog?

    我有两个问题 我怎样才能访问QFileDialog并使用 Qt Test 模块在 文件名 字段中写入文件的路径 我这么问是因为我正在 Qt 中开发一些 GUI 测试 现在我需要打开一个文本文件 以下代码创建QFileDialog并获取文件路
  • QGroupBox边框

    经过一段时间的搜索后 我发现在组框上设置可见边框的方法是使用 StyleSheet 属性 我补充道 border 2px solid gray 但有几个问题 1 组框内的所有内容也继承此设置 2 边框在标题附近有一个小洞 碎片缺失 Here
  • 通过对 XmlHttpRequest (REST) 的响应在 QML 中显示图像

    我需要从 REST API 调用中获取 jpeg 图像 我使用 XMLHttpRequest 因为请求需要身份验证标头 即我不能只创建一个图像并将源设置为带有 user passwd url 的 URL 我认为我可以通过将 REST 数据设
  • 在哪里可以找到 Qt 的 dll 的 pdb 文件?

    我正在调试 Qt 应用程序 在哪里可以找到 Qt 的调试 dll 我在windows上使用的是vs2010 它说它需要 Qt 中的许多 dll 的 pdb 文件 从 Qt 5 9 开始 与 Windows 发行版相对应的 PDB 可作为单独
  • 获取小部件的背景颜色 - 真的

    我无法获取小部件的实际背景颜色 在我的特殊情况下 我在使用 QTabWidget 中的小部件时遇到问题 这是在Windows7上 因此 经典的小部件有一些灰色背景 而选项卡内的小部件通常用白色背景绘制 I tried def bgcolor
  • [本机]:在Qt for Android中使用Java函数和第3方库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近我用qt写了一个android应用程序 但我有一个很大的问题 我可以使用 调用一些原生的android API 比如调用特殊的activit
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • Qt 支持在 QIcon 中为 SVG 着色

    看来 Qt 不支持 SVG 中路径标签上的描边 填充选项
  • 在 Puppeteer 中如何将 Chrome 窗口从默认配置文件切换到所需的配置文件

    我的要求是在新的配置文件上测试 chrome 扩展 我提到https peter sh experiments chromium command line switches https peter sh experiments chromi
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF

随机推荐

  • 为什么 Ruby on Rails 弃用脚手架方法

    我正在学习 Ruby on Rails 所以我相信我迟早会发现这一点 为什么在 Rails 版本 2 中不推荐使用脚手架方法 脚手架方法违背了脚手架的精神 脚手架的目的是为您提供一个起点 您应该在此基础上根据自己的需求进行构建 通过动态生成
  • 缩小的单个捆绑包与通过 http/2 的多个文件

    对于 CSS 和 JS 捆绑 一般建议是什么 是将所有内容捆绑到一个文件中更好 还是提供多个文件更好 我个人认为多个文件更好 尤其是使用 http 2 但是捆绑有很好的理由 当所有内容都在一个文件中时 缩小和 gzip 会产生更好的结果 因
  • Ruby on Rails 中的“分配”有什么作用?

    我目前正在尝试学习Ruby on Rails和测试框架RSpec 什么是assigns在这个 RSpec 测试中做什么 describe GET index do it assigns all mymodel as mymodel do m
  • 线程中的临界区是什么?

    请有人能举例简单地告诉我临界区的含义是什么 用简单的语言 A 临界区 http en wikipedia org wiki Critical section是需要在没有外部干扰的情况下执行的代码部分 即没有其他线程可能影响该部分内的 中间
  • TypeScript 中的私有静态属性

    如果我执行下面类似的操作 如何从类中访问该属性 class Person private static name string console log Person name 不是应该无法访问吗 这应该是一个错误 但事实并非如此 根据规范第
  • 如何创建分支?

    如何在SVN中创建分支 使用创建一个新分支svn copy命令如下 svn copy svn ssh host example com repos project trunk svn ssh host example com repos p
  • 派生类中类模板的部分特化会影响基类

    我有一个元功能 struct METAFUNCION template
  • 在 WooCommerce 管理订单列表中添加自定义操作按钮

    我已关注本说明 https fernandoacosta net blog 2015 06 07 woocommerce adicionar novo status de pedido 为我的 WooCommerce 订单添加自定义订单状态
  • 如何修复应用程序构造函数中的异常

    我是 Javafx 新手 我刚刚下载了 JDK 12 并遵循了教程 它已经工作但对我不起作用 我正在使用模块来要求 javafx controls 这是代码 在我的主课中 我在SOFlow中尝试了很多解决方案但没有结果 我尝试了 1 将 p
  • 在 C# 中序列化和存储对象的最简单方法?

    我正在寻找一个简单的解决方案来序列化和存储包含配置 应用程序状态和数据的对象 它是一个简单的应用程序 数据不多 速度不是问题 我希望它正在进行中 我希望它在文本编辑器中比在 xml 中更容易编辑 我找不到任何可以在进程中处理它的 net 文
  • 如何使用Beautifulsoup4等待网站返回数据

    我使用 beautifulsoup4 编写了一个脚本 该脚本基本上从网页上的表格中获取密码列表 问题是我的 python 脚本不会等待网页返回的内容 并且会中断或显示 列表索引超出范围 代码如下 ssl lab url https www
  • 谷歌 reCaptcha V3 中的“浏览器错误”(不可见)

    我正在使用 google reCaptcha v3 不可见 但我收到了一些响应负载 success false error codes browser error 我用谷歌搜索但没有找到任何有关 浏览器错误 的信息 从 7900 个 reC
  • npm、pip、pipenv 和 Poetry 包管理器之间的功能比较 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 主要特点是怎样的npm与之比较pip pipenv and Poetry https python poetry org 包管理器 我
  • 记录 ServiceStack Web 服务 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 用于记录基于 ServiceStack 的 Web 服务的选项有哪些 我不是在谈论单行字符串 我希望能够详细记录 可能很长 返回类型
  • 定义 CreateProjection 和 CreateMap

    在我的项目中 我使用实体框架进行 ORM 使用 Dto 类进行 api 响应 我使用 Automapper 在两者之间进行映射 当我需要直接从 EF 可查询中获取 Dtos 时 我会执行最后的操作ProjectTo lt gt 根据我的查询
  • 将 ggplot 标题放置在绘图的右上角

    我正在使用优秀的theme minimal 在 ggplot0 9 3 中找到 它具有白色背景 我想将绘图的标题放置在绘图右上角的自定义位置 在下面的例子中我知道x and y值 但我想知道是否有办法通过xmax and ymax值以确保文
  • 迭代Go地图获取索引

    为了使用revel s even https revel github io manual templates html even模板中的关键字我想在迭代时获取地图条目的索引range 有什么办法可以做到吗 我的地图具有以下结构 map s
  • dequeueReusableCellWithReuseIdentifier: 和 cellForItemAtIndexPath: 之间的区别

    我一直想知道为什么我的代码可以很好地工作cellForItemAtIndexPath 不与dequeueReusableCellWithReuseIdentifier 在获取集合视图单元格时 这是我的代码 这个效果很好 NSInteger
  • 为连续序列和分割向量创建分组变量

    我有一个向量 例如c 1 3 4 5 9 10 17 29 30 我想将形成规则 连续序列的 相邻 元素分组在一起 即在参差不齐的向量中增加 1 结果是 L1 1L2 3 4 5L3 9 10 L4 17L5 29 30 天真的代码 前 C
  • 如何确定 Qt 5 中的 QtWebEngine 在运行时使用的是哪个 chromium 版本?

    我在 Qt 5 中找不到任何函数来确定使用哪个 chromium 版本QtWebEngine 我不想在代码中硬编码 chromium 版本 因为我经常更新我的应用程序 并且每个版本中的 chromium 版本通常都会更改 而且 Qt 是向后