Skip to main content

Chromium™和Qt的实验性工作

Comments

原文链接:Zeno Albisser - Experimenting with Chromium™ and Qt

Chromium是一个开源项目,它也是Chrome浏览器的核心。它不仅负责HTML渲染,而且还是WEB平台的一个完整实现——从网络栈到多媒体框架。

和Qt一样,它在多个桌面系统和移动平台上都是可用的。那么Qt开发人员如何在Qt的世界中使用它呢?

好吧,在过去的几周内,我们在忙于这样一个实验性的项目。今天我们来展示一下工作原型,它演示了如何把Chromium集成到Qt Quick 2和窗口部件中。

在这个原型中,尽管跨平台支持并不是我们的主要焦点。我们还是尽量保证对Chromium的修改做到最小。这也就是为什么我们在这个项目中使用gypnijia作为构件系统——它们可以很容易地和qmake项目一起工作。

请您来尝试一下,并且把您的意见和建议反馈给我们。只要按照如下指令,您就可以简单地构建和运行实例。不过,请注意,目前这一原型只是实验性工作。所以没有稳定的API,并且没有任何后续支持的承诺

获得源码并且构建原型

要构建和运行这个原型,您需要有一个较新版本的Qt5(v5.1.0-rc1)的构建。

在Ubuntu上安装构建依赖:

sudo apt-get build-dep chromium-browser

安装Chromium的depot_tools并且获取Chromium的源码(这也许要一段时间):

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PWD/depot_tools:$PATH
fetch chromium --nosvn=True
export CHROMIUM_SRC_DIR=$PWD/src

克隆QtWebEngine仓库并且打上我们的Chromium补丁:

git clone git://gitorious.org/qt-labs/qtwebengine.git
./qtwebengine/patches/patch-chromium.sh

构建QtWebEngine:

cd qtwebengine && qmake && make

运行实例

QtWebEngine仓库包含两个实例应用程序。一个使用了Qt Quick 2,另外一个使用了窗口部件。实例就是一个简单的浏览器,其中使用了基于Chromium的网页视图。

两个实例的代码在examples子目录,并且可以在命令行中运行。

已知问题

  • 现在这个原型只支持Linux/X11平台。
  • 还没有集成QNetworkAccessManager。

Comments

Subscribe to our blog

Try Qt 6.11 Now!

Download the latest release here: www.qt.io/download

Qt 6.11 is now available, with new features and improvements for application developers and device creators.

We're Hiring

Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.