尧图网络科技 Logo 尧图网络科技
  • 首页
  • 关于我们
  • 建站服务
  • UI 设计
  • 案例展示
  • SEO 优化
  • 资讯中心
  • 联系我们

资讯详情

深度解读 · 专业分析

  • 首页
  • 资讯中心
  • /
  • WebView

最新资讯

  • 全部资讯
  • 行业动态
  • UI 设计
  • SEO 优化
  • 网站开发

WebView

📅 发布时间:2026/9/20 0:20:54 👁 浏览次数:
WebView

WebView

https://www.d2school.com/lesson?sn=b5822e7a711ba96da7962e23e0518e54#article-toc-1_1

准备

开发包下载
webview 暂未进入 msys2 的仓库,需到 github https://github.com/webview/webview 克隆项目或下载 zip 包。

下载后,将其 core/include 目录解压到磁盘上某个目录下即可,无需编译。

Windows下开发
在 Windows 下使用 webview 库开发,还需要下载 Windows 的一个 .NET 库(仅开发时需要,我们的程序编译后无需依赖它)。链接:https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2

下载后扩展名为 .nupkg,但可用类似 7Zip 的工具打开后,同样找个目录解压。

Linux 下开发
需安装 GTK3 或 GTK4(建议)的开发包,以 ubuntu 为例,命令为:

sudo apt install libWebKitGTK-devl

macOS 下开发
无需额外下载开发库,系统自带有官方浏览器 Safari 即可。

最小实例

项目结构

- webview      # 来自于 https://github.com/webview/webview
- webview2-sdk # 来自于 https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2
- main.cpp
- Sconstruct

main.cpp

#include "webview/webview.h"
#include <iostream>int main() {bool debugMode = false;// #ifndef NDEBUGdebugMode = true;std::system("chcp 65001 >nul");
// #endif// 创建一个简单的 Webview 窗口webview::webview w(debugMode, nullptr);if (!w.window().ok()) {std::cout << "window not ok" << std::endl;return 1;}// w.navigate("https://www.d2school.com");w.set_title("Hello WebView GUI");w.set_size(400, 300, WEBVIEW_HINT_NONE);w.set_html("<html><body><h1>Hello</h1></body></html>");w.run();
}

Sconstruct

import os
from SCons.Script import *# 项目名称
target  = 'hello'# 编译器标志
env = Environment(CXXFLAGS=['-std=c++17'],# CCFLAGS=['-Wall'],# LINKFLAGS=['-static', '-static-libgcc', '-static-libstdc++'],
)# 根据构建类型决定是否启用控制台窗口
build_type = ARGUMENTS.get('build', 'Release').capitalize()  # 默认 Release
if build_type not in ('Debug', 'Release'):print("Warning: build type must be 'Debug' or 'Release'. Defaulting to Release.")build_type = 'Release'if build_type == 'Debug':# 控制台程序pass  # 默认就是控制台
else:# GUI 程序(无控制台)env.Append(LINKFLAGS=['-mwindows'])# 添加头文件路径
env.Append(CPPPATH=['webview/core/include','webview2-sdk/build/native/include',
])# 源文件
sources = ['main.cpp']# 链接 Windows 系统库
libs = ['advapi32', 'ole32', 'shell32', 'shlwapi', 'user32', 'version']# 构建目标
program = env.Program(target, source=sources, LIBS=libs)

调试

启用 DevTools 调试,直接右键页面 → “检查”(如果上下文菜单启用),或者在 HTML 中加入:

<script>// 在 WebView2 中启用 DevToolsif (window.chrome && chrome.webview) {chrome.webview.postMessage('debug');}
</script>

C++ API

// 类型定义 参考:webview/core/include/webview/backends.hh
namespace webview {
using webview = browser_engine;
}// 创建实例
webview::webview w(debugMode, nullptr);// 设置窗口
w.set_title("Hello WebView GUI");
w.set_size(400, 300, WEBVIEW_HINT_NONE);// 设置内容
w.set_html("<h1>Hello, Webview</h1>");
w.navigate("https://bing.com");

C API

// 类型定义
typedef void *webview_t;// 创建实例
webview = webview_create(debug_enabled ? 1 : 0, nullptr);// 设置窗口
webview_set_size(webview, 400, 300, WEBVIEW_HINT_NONE);// 设置内容
webview_set_html(webview, "<h1>Hello, Webview</h1>");
webview_navigate(webview, "https://bing.com");

Tauri

https://www.devze.com/dev/1753894ILMK4G1ko

相关新闻

世界两套规则的本质解析:显性道德与隐性利益的博弈

世界两套规则的本质解析:显性道德与隐性利益的博弈

2026/9/18 1:55:25 查看详情
终极免费方案:用MateChat Vue3组件库快速构建AI对话应用

终极免费方案:用MateChat Vue3组件库快速构建AI对话应用

2026/9/19 11:17:50 查看详情
量子纠缠通信:超光速数据传输的因果律验证挑战

量子纠缠通信:超光速数据传输的因果律验证挑战

2026/9/20 3:10:22 查看详情
Elasticsearch 9.x 中文分词:IK 插件部署与调优实战

Elasticsearch 9.x 中文分词:IK 插件部署与调优实战

2026/9/20 14:19:17 查看详情
基于Chromium源码构建企业级UI框架的实践

基于Chromium源码构建企业级UI框架的实践

2026/9/20 14:19:17 查看详情
MacBook合盖不休眠怎么设置?pmset与caffeinate终端命令详解

MacBook合盖不休眠怎么设置?pmset与caffeinate终端命令详解

2026/9/20 14:18:47 查看详情
RAGFlow离线部署避坑:cl100k_base.tiktoken缺失完整解法

RAGFlow离线部署避坑:cl100k_base.tiktoken缺失完整解法

2026/9/20 14:18:16 查看详情
Aerial 自定义视频(Custom Videos)完整指南:向 Apple TV 屏保播放列表添加你自己的视频

Aerial 自定义视频(Custom Videos)完整指南:向 Apple TV 屏保播放列表添加你自己的视频

2026/9/20 14:18:16 查看详情
Pandas入门与实践:从安装配置到数据清洗与分组汇总

Pandas入门与实践:从安装配置到数据清洗与分组汇总

2026/9/20 14:17:46 查看详情
Elasticsearch 9.x 中文分词:IK 插件部署与调优实战

Elasticsearch 9.x 中文分词:IK 插件部署与调优实战

2026/9/20 14:19:17 查看详情
基于Chromium源码构建企业级UI框架的实践

基于Chromium源码构建企业级UI框架的实践

2026/9/20 14:19:17 查看详情
MacBook合盖不休眠怎么设置?pmset与caffeinate终端命令详解

MacBook合盖不休眠怎么设置?pmset与caffeinate终端命令详解

2026/9/20 14:18:47 查看详情
RAGFlow离线部署避坑:cl100k_base.tiktoken缺失完整解法

RAGFlow离线部署避坑:cl100k_base.tiktoken缺失完整解法

2026/9/20 14:18:16 查看详情
Aerial 自定义视频(Custom Videos)完整指南:向 Apple TV 屏保播放列表添加你自己的视频

Aerial 自定义视频(Custom Videos)完整指南:向 Apple TV 屏保播放列表添加你自己的视频

2026/9/20 14:18:16 查看详情
Pandas入门与实践:从安装配置到数据清洗与分组汇总

Pandas入门与实践:从安装配置到数据清洗与分组汇总

2026/9/20 14:17:46 查看详情
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

2026/9/20 0:00:07 查看详情
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

2026/9/20 0:00:37 查看详情
Flask+Vue全栈实战:构建高效家教服务管理系统

Flask+Vue全栈实战:构建高效家教服务管理系统

2026/9/20 0:01:07 查看详情
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

2026/9/20 0:00:07 查看详情
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

2026/9/20 0:00:37 查看详情
Flask+Vue全栈实战:构建高效家教服务管理系统

Flask+Vue全栈实战:构建高效家教服务管理系统

2026/9/20 0:01:07 查看详情
雨花区哪家财务公司代理记账比较好?

雨花区哪家财务公司代理记账比较好?

2026/9/20 5:26:57 查看详情
从零到一构建开源项目的完整历程:交付前的最后检查怎么做

从零到一构建开源项目的完整历程:交付前的最后检查怎么做

2026/9/20 4:22:24 查看详情
日志平台 日志分析平台与全链路追踪:交付前的最后检查怎么做

日志平台 日志分析平台与全链路追踪:交付前的最后检查怎么做

2026/9/20 6:30:56 查看详情

关于尧图

立足北京本地的一站式网站建设服务与设计教学平台,深耕企业网站定制开发、全网 SEO 优化及网络推广服务。

快速链接

  • 关于我们
  • 建站服务
  • 案例展示
  • 资讯中心

服务项目

  • 企业官网定制
  • UI 界面设计
  • SEO 优化推广
  • 移动端适配

联系方式

电话:400-XXX-XXXX

邮箱:info@zskr.cn

地址:北京市朝阳区 XXX 路 XX 号

© 2026 尧图网络科技 版权所有 | 京 ICP 备 XXXXXXXX 号