环境:windows11
使用到的工具清单:
Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.10.4
Qt 6.7.2
CMake 3.29.0
msvc2019_64
CefView cmake_minimum_required(VERSION 3.19.1)(CEF_SDK_VERSION 113.3.1+g525fa10+chromium-113.0.5672.128)
链接: https://pan.baidu.com/s/1ZctuySRga80Kvqdg0AcwYA 提取码: y1vj 复制这段内容后打开百度网盘手机App,操作更方便哦
1.安装Qt 6.7.2,按提示安装就行,申请一个账号密码就能安装。安装完成后添加环境变量
2.CMake解压后配置环境变量,双击path
3.vs2022安装
2.安装好后打开空项目,点击扩展-》管理扩展-》安装qt工具
4.CefView编译
网速慢的话,多试几次,.builld删掉,运气好的话下载很快;
QCefView.sln使用vs2022打开右键生成解决方案
可以研究这个demo,进行开发;
新建个文件,用来放生成的lib、dll、.h文件,
include里边是D:\qtlib\QCefView\include
debug里边是D:\qtlib\QCefView\.build\windows.x86_64\output\Debug
根据提示创建qt项目;
bin目录下的我也不会,我是直接放编译目录下
代码main.h
#include "QtWidgetsApplication2.h"
#include <QtWidgets/QApplication>
#include <QCefContext.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// build QCefConfig
QCefConfig config;
config.setUserAgent("QCefViewTest");
config.setLogLevel(QCefConfig::LOGSEVERITY_DEFAULT);
config.setBridgeObjectName("CallBridge");
config.setRemoteDebuggingPort(9000);
config.setBackgroundColor(Qt::lightGray);
// add command line args
// config.addCommandLineSwitch("allow-universal-access-from-files");
config.addCommandLineSwitch("enable-media-stream");
config.addCommandLineSwitch("use-mock-keychain");
config.addCommandLineSwitch("allow-file-access-from-files");
config.addCommandLineSwitch("disable-spell-checking");
config.addCommandLineSwitch("disable-site-isolation-trials");
config.addCommandLineSwitch("enable-aggressive-domstorage-flushing");
config.addCommandLineSwitchWithValue("renderer-process-limit", "1");
config.addCommandLineSwitchWithValue("disable-features", "BlinkGenPropertyTrees,TranslateUI,site-per-process");
// initialize QCefContext instance with config
QCefContext cefContext(&a, argc, argv, &config);
QtWidgetsApplication2 w;
w.show();
return a.exec();
}
代码QtWidgetsApplication2.h
#include "QtWidgetsApplication2.h"
#include "QCefView.h"
QtWidgetsApplication2::QtWidgetsApplication2(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
this->setWindowTitle(QString("ceshi").arg("123")); // 设置窗口标题
// 构建web资源的路径
//在线显示网页
QString uri = "www.baidu.com";
// 每个QCefView的生成设置
QCefSetting setting;
// 设置背景色
setting.setBackgroundColor(QColor::fromRgb(255, 255, 255));
// 创建QCefView小部件并将其添加到布局容器
QCefView* cefViewWidget = new QCefView(uri, &setting, this);
cefViewWidget->setFixedSize(this->frameGeometry().width(), this->frameGeometry().height());
ui.gridLayout->addWidget(cefViewWidget);
}
QtWidgetsApplication2::~QtWidgetsApplication2()
{}
运行正常展示了