VNote 的 Markdown 文档是使用 QWebEngineView 这个组件来展示的,这是一个基于 Chromium 内核的浏览器组件。在 Qt 下展示 Markdown 文档,QWebEngineView 可以说是最好的选择。因为 Markdown 实质上是 HTML,可以认为是面向写作排版设计的简化版 HTML,并且围绕 Markdown 的渲染(公式、图表、代码块等),在 JavaScript 生态里已经有了大量的库和组件来处理相关内容,而使用 QWebEngineView 的话就可以复用 JavaScript 生态下的这些资源。但使用这些 JavaScript 组件的过程中需要和后台其他的 C++ 组件交互,例如:把后台读取的 Markdown 文本传递到前台,为此 Qt 提供了负责前后端通信也就是 JavaScript 和 C++ 互操作的组件:QWebChannel,如果要把 Markdown 的渲染过程理解透彻,必须要熟知 QWebChannel 的工作原理,具体可参考《Qt 前后端通信(QWebChannel Js / C++ 互操作):原理、示例、步骤解说》一文。此外,建议最好先阅读本系列的第一篇文章《GitHub 1.2 万星