Qt多浏览器内核怎么写
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"Qt多浏览器内核怎么写",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Qt多浏览器内核怎么写"吧!一、前言下面是部分代码://公用初始化浏
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
山东特亿宝互联网科技有限公司
互联网科技有限公司经营范围
万易互联网科技
深圳互联网络科技有限公司
西安互联网科技
远信互联网科技
广州宏创互联网科技
华中科技大学互联网
狮子座互联网科技有限公司
壕鑫互联网络科技
长亮科技 互联网金融
互联网金融监管科技
太原新华互联网科技学校怎么样
江苏南京365互联网科技
互联网系的金融科技公司
崇明区互联网教育科技售后服务
中科明德北京互联网科技
伊宁互联网科技做什么的
北京市互联网新科技
数字互联网科技有限公司
喔噻互联网科技有限公司
科技与互联网发展
紫鲸互联网科技
互联网科技公司名称
美国互联网前沿科技
四个字互联网科技公司取名
互联网科技圈年度人物
广州富喜互联网络科技
东营紫格互联网科技
优雇互联网科技有限公司