Qt多浏览器内核怎么写
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"Qt多浏览器内核怎么写",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Qt多浏览器内核怎么写"吧!一、前言下面是部分代码://公用初始化浏
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
我的世界多人服务器生存第17期
中国网络安全市占率
ldbc图数据库
软件开发公司有什么好处
碧蓝航线部分用户无法连接服务器
关系数据库中基于数学上
网络技术服务费报销归类
合肥软件开发收入
shopex换服务器
怎么搭建一个收费系统服务器
魔兽世界奥尔加隆服务器
大学网络技术手抄报
hp 服务器硬盘扩容
档案管理系统数据库设计
编程软件开发需要什么学历
长宁区网络技术开发市场价格
网络安全检测与风险评估
深圳科技互联网名企排名
数据库表窗口
广东服务器防火墙设备
计算机网络技术包含哪两种技术
修改pg数据库数据
东莞家政软件开发费用是多少
连云港软件开发哪个公司好
国内网络安全的公司排名
中國网络安全法
单位网络安全事件应急演练方案
索尼的计算机软件开发怎样
联想服务器开机一直死机
网游软件开发平台