Qt多浏览器内核怎么写
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容主要讲解"Qt多浏览器内核怎么写",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Qt多浏览器内核怎么写"吧!一、前言下面是部分代码://公用初始化浏
千家信息网最后更新 2025年12月01日Qt多浏览器内核怎么写
本篇内容主要讲解"Qt多浏览器内核怎么写",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Qt多浏览器内核怎么写"吧!
一、前言
下面是部分代码:
//公用初始化浏览器控件配置void WebHelper::initWebSetting(){ //全局配置只需要设置一次就行 static bool isInit = false; if (!isInit) { isInit = true;#ifdef webkit QWebSettings *webSetting = QWebSettings::globalSettings(); webSetting->setAttribute(QWebSettings::JavascriptEnabled, true); webSetting->setAttribute(QWebSettings::PluginsEnabled, true); webSetting->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);#elif webengine QWebEngineSettings *webSetting = QWebEngineSettings::globalSettings(); webSetting->setAttribute(QWebEngineSettings::JavascriptEnabled, true); webSetting->setAttribute(QWebEngineSettings::PluginsEnabled, true); webSetting->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);#endif }}//通用浏览器组件加载void frmMapBoundary::loadMap(bool tool){ QString content; QString fileName = QString("%1/map_web.html").arg(AppPath); QString url = "file:///" + fileName; baidu->reset(); baidu->setMapZoom(10); baidu->setShowOverlayTool(tool); //设置默认的中心点坐标,建议采用中心点坐标的方式 baidu->setMapCenterPoint("121.414,31.1828"); //如果采用加载内容方式则需要先设置不存储文件 //ie内核以及在linux上需要用load的方式加载 //发现 Qt5.5 webkit 也需要用文件加载#ifdef savehtmlfile baidu->setSaveFile(true);#else baidu->setSaveFile(false);#endif baidu->setFileName(fileName); content = baidu->newMap(); //下面为两种方式加载网页,如果内容为空则加载网页文件否则加载内容 //一般为了保密建议加载内容,这样看不到生成的网页文件 //可能在linux上的webkit内核需要用load的方式加载 if (baidu->getSaveFile()) {#if (defined webkit) || (defined webengine) webView->load(QUrl(url));#elif webie webView->dynamicCall("Navigate(const QString&)", url);#endif } else { QUrl baseUrl(QString("%1/").arg(AppPath));#if (defined webkit) || (defined webengine) webView->setHtml(content, baseUrl);#endif }}//通用数据交互类//需要自定义继承自QObject的类来接收QWebEngineView交互数据,不然会打印很多烦人的信息class WebJsData : public QObject{ Q_OBJECTpublic: static WebJsData *Instance(); explicit WebJsData(QObject *parent = 0);public slots: //定义两个参数,这样就涵盖了所有的情况 type表示类型相当于唯一标识 void receiveData(const QString &type, const QVariant &data);signals: void receiveDataFromJs(const QString &type, const QVariant &data);};WebJsData *WebJsData::Instance(){ static WebJsData self; return &self;}WebJsData::WebJsData(QObject *parent){}void WebJsData::receiveData(const QString &type, const QVariant &data){ //可以在这里重新梳理好再发出去信号 emit receiveDataFromJs(type, data);}二、功能特点
同时支持在线地图和离线地图两种模式。
同时支持webkit内核、webengine内核、IE内核。
支持设置多个标注点,信息包括名称、地址、经纬度。
可设置地图是否可单击、拖动、鼠标滚轮缩放。
可设置协议版本、秘钥、主题样式、中心坐标、中心城市、地理编码位置等。
可设置地图缩放比例和级别,缩略图、比例尺、路况信息等控件的可见。
支持地图交互,比如鼠标按下获取对应位置的经纬度。
支持查询路线,可设置起点位置、终点位置、路线模式、路线方式、路线方案(最少时间、最少换乘、最少步行、不乘地铁、最短距离、避开高速)。
可显示点线面工具,可直接在地图上划线、点、矩形、圆形等。
可设置行政区划,指定某个城市区域绘制图层,在线地图自动输出行政区划边界点集合到js文件给离线地图使用。
可静态或者动态添加多个覆盖物。支持点、折线、多边形、矩形、圆形、弧线、点聚合等。
函数接口友好和统一,使用简单方便,就一个类。
支持js动态交互添加点、删除点、清空点、重置点,不需要刷新页面。
支持任意Qt版本、任意系统、任意编译器。
三、效果图
到此,相信大家对"Qt多浏览器内核怎么写"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内核
地图
支持
内容
方式
浏览器
浏览
文件
可设
位置
路线
信息
坐标
网页
中心点
动态
同时
圆形
城市
多个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库输100返50
网络安全靶场培训报道
湖北多功能软件开发费用
have数据库加法
佛山政务服务管理软件开发
服务器 2颗cpu
hr软件开发工程师
税务网络安全管理调研
设计游戏程序软件开发
网络技术的标准化
国家电网2022网络安全形
星图软件开发
萝岗专业网络数据库维护
唐山附近哪有软件开发的
南京市天妙互联网科技有限公司
网络安全法规定数据保密
深圳市小鹅网络技术有限公司
2022年网络安全工作实施方案
网络安全违法违规app
数据库运维多少钱
软件开发驻场多少钱
软件开发最大难度是
兰石爱特工业互联网科技公司
网络安全工程师怎么做
工业软件开发是坑吗
代理服务器地址怎么查
oracle数据库闪回表
软件开发能干到退休吗
网络安全沈鑫剡思维导图
用友 数据库帐套结构表