From 0bd903f5fd09d02a034d3fac74e494929041a0d7 Mon Sep 17 00:00:00 2001 From: JackLee <809262979@qq.com> Date: Sun, 30 Mar 2025 20:46:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E6=BB=9E=E7=95=99=E8=BF=9B=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3rdparty/QCefView/lib/libQCefView.a | Bin 1449440 -> 1453610 bytes compatibility.manifest | 1 + src/QCefWidget/CefWidget.cpp | 6 +-- src/QCefWidget/CefWidget.h | 12 ++--- src/main.cpp | 68 +++++++++++++--------------- 5 files changed, 39 insertions(+), 48 deletions(-) diff --git a/3rdparty/QCefView/lib/libQCefView.a b/3rdparty/QCefView/lib/libQCefView.a index dff1cfb171b1ea011979fc0d4d36e478e26d2348..6302f2423f505ab0e42de28e3e960de400cf852b 100644 GIT binary patch delta 58139 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 delta 54089 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 mgL!|DvFWOK+KPWa>`w|3#?aryCLh#q*$Oq(2v9 + diff --git a/src/QCefWidget/CefWidget.cpp b/src/QCefWidget/CefWidget.cpp index 2567542..f5edb32 100644 --- a/src/QCefWidget/CefWidget.cpp +++ b/src/QCefWidget/CefWidget.cpp @@ -52,10 +52,7 @@ CefWidget::CefWidget(QWidget *parent) m_Layout->setStretch(1, 8); setBaseSize(QSize(width(),height())); setLayout(m_Layout); - setWindowFlags(Qt::Window); // 使用标准窗口样式 - setAttribute(Qt::WA_TranslucentBackground, false); initBrowser(); - setObjectName("CefWidget"); } CefWidget::~CefWidget() @@ -71,7 +68,7 @@ void CefWidget::initBrowser() } setting.setWindowlessFrameRate(1000); setting.setHardwareAcceleration(true); - m_CefWidget = new CefViewWidget("about:blank", &setting, this); + m_CefWidget = new QCefView("about:blank", &setting, this); connect(m_CefWidget, &QCefView::invokeMethod, this, &CefWidget::onInvokeMethod); connect(m_CefWidget, &QCefView::cefUrlRequest, this, &CefWidget::onQCefUrlRequest); connect(m_CefWidget, &QCefView::cefQueryRequest, this, &CefWidget::onQCefQueryRequest); @@ -156,6 +153,7 @@ void CefWidget::onInvokeMethod(const QCefBrowserId &browserId, } else { + } } diff --git a/src/QCefWidget/CefWidget.h b/src/QCefWidget/CefWidget.h index 764ded0..d50c9c1 100644 --- a/src/QCefWidget/CefWidget.h +++ b/src/QCefWidget/CefWidget.h @@ -7,8 +7,8 @@ #include #include #include -//#include -#include "CefViewWidget.h" +#include +//#include "CefViewWidget.h" class CefWidget : public QWidget { Q_OBJECT @@ -32,14 +32,12 @@ private: QLineEdit* m_TextToUrl={}; QPushButton* m_BtnToUrl={}; QPushButton* m_BtnToString={}; - CefViewWidget* m_CefWidget ={}; + QCefView* m_CefWidget ={}; QCefSetting setting; bool DevMode=true; QString html_template; -protected: - void createLeftCefView(); // QCefView slots -protected slots: +public slots: void onInvokeMethod(const QCefBrowserId& browserId, const QCefFrameId& frameId, const QString& method, @@ -60,7 +58,7 @@ protected slots: const QString& errorMsg, const QString& failedUrl); //ui slots -protected slots: +public slots: void onBtnShowDevToolsClicked(); void onBtnSetFocusClicked(); void onBtnCallJSCodeClicked(); diff --git a/src/main.cpp b/src/main.cpp index 01373e5..3419d38 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,10 +5,9 @@ #include "sui_base_ex.h" #include "ctai.h" #include -#include #include #include "QCefWidget/CefWidget.h" -#define DEBUG_PRINT true +#define DEBUG_PRINT false void debug_print_argv(int argc, char *argv[]) { if (!argc) @@ -63,48 +62,42 @@ void initConfig(int argc, char *argv[], QCefConfig &config, QString currentDir) config.setCachePath(currentDir + "/user/userCache"); config.setResourceDirectoryPath(currentDir + "/cef_binary"); config.setLocalesDirectoryPath(currentDir + "/cef_binary/locales"); + config.setBridgeObjectName("CallBridge"); + config.setBuiltinSchemeName("CefView"); // 浏览器标识 config.setUserAgent("Mozilla/5.0 (Windows NT 10.0; CEF/3.2272.2035) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 SoftwareInformer/1.6.1400"); // 日志输出级别 config.setLogLevel(QCefConfig::LOGSEVERITY_VERBOSE); - // 桥名字 - config.setBridgeObjectName("CtaiClient"); - // 内置的协议方案名称 - config.setBuiltinSchemeName("Ctai"); // 无窗口渲染模式 - // config.setWindowlessRenderingEnabled(true); + config.setWindowlessRenderingEnabled(false); // 远程Debug端口 // config.setRemoteDebuggingPort(9000); // 请求头的语言 config.setAcceptLanguageList("zh-CN"); // 允许忽略 localhost 上的 TLS/SSL 错误 - config.addCommandLineSwitch("allow-insecure-localhost"); config.addCommandLineSwitch("ignore-certificate-errors-spki-list"); config.addCommandLineSwitch("ignore-ssl-errors"); // 单进程模式 - // config.addCommandLineSwitch("single-process"); + // config.addCommandLineSwitch("single-process"); // 启用GPU加速 config.addCommandLineSwitch("enable-gpu"); // GPU加速合成 - config.addCommandLineSwitch("enable-gpu-compositing"); + //config.addCommandLineSwitch("enable-gpu-compositing"); // 在进程中使用GPU渲染-开启后只有一个进程 - config.addCommandLineSwitch("in-process-gpu"); + //config.addCommandLineSwitch("in-process-gpu"); // 无头模式 // config.addCommandLineSwitch("headless"); - // 密钥链 - config.addCommandLineSwitch("use-mock-keychain"); // chrome运行时环境 config.addCommandLineSwitch("enable-chrome-runtime"); - // Alloy 风格 - config.addCommandLineSwitch("use-alloy-style"); // 离屏渲染 - // config.addCommandLineSwitch("off-screen-rendering-enabled"); + config.addCommandLineSwitch("off-screen-rendering-enabled"); // 网络服务In进程 - config.addCommandLineSwitchWithValue("enable-features", "NetworkServiceInProcess"); + //config.addCommandLineSwitchWithValue("enable-features", "NetworkServiceInProcess"); // 语言 config.addCommandLineSwitchWithValue("lang", "zh-CN"); // 跨域进行远程 // config.addCommandLineSwitchWithValue("remote-allow-origins", "*"); + // 禁用沙盒 config.addCommandLineSwitchWithValue("no-sandbox", "ture"); // 渲染进程限制 @@ -112,7 +105,8 @@ void initConfig(int argc, char *argv[], QCefConfig &config, QString currentDir) // 外部消息循环 config.addCommandLineSwitchWithValue("external-message-pump", "false"); // 多线程消息循环 - config.addCommandLineSwitchWithValue("multi-threaded-message-loop", "true"); + config.addCommandLineSwitchWithValue("multi-threaded-message-loop", "false"); + } int main(int argc, char *argv[]) { @@ -128,25 +122,25 @@ int main(int argc, char *argv[]) QCefContext cefContext(&a, argc, argv, &config); CefWidget cw; cw.show(); - qputenv("QT_QPA_PLATFORM", "windows:fontengine=freetype"); - // 加载语言包 - QTranslator qtBaseTranslator; - if (!qtBaseTranslator.load(QStringLiteral(":/res/translator/qtbase_zh_CN.qm"))) - { - // 处理加载翻译文件失败的情况 - qDebug() << "Failed to load translation file."; - return -1; - } - a.installTranslator(&qtBaseTranslator); - // 读取窗体的配置并初始化 - sui_init_config(); - ctai x; - x.init_layout(); - // 仅限于windows平台 -#if defined(__WIN32__) - x.title()->set_type(QD_TYPE::QD_EXIT); -#endif - x.show(); +// qputenv("QT_QPA_PLATFORM", "windows:fontengine=freetype"); +// // 加载语言包 +// QTranslator qtBaseTranslator; +// if (!qtBaseTranslator.load(QStringLiteral(":/res/translator/qtbase_zh_CN.qm"))) +// { +// // 处理加载翻译文件失败的情况 +// qDebug() << "Failed to load translation file."; +// return -1; +// } +// a.installTranslator(&qtBaseTranslator); +// // 读取窗体的配置并初始化 +// sui_init_config(); +// ctai x; +// x.init_layout(); +// // 仅限于windows平台 +// #if defined(__WIN32__) +// x.title()->set_type(QD_TYPE::QD_EXIT); +// #endif +// x.show(); a.exec(); qDebug() << "EXIT"; return 0;