本篇內(nèi)容主要講解“Qt多瀏覽器內(nèi)核怎么寫(xiě)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Qt多瀏覽器內(nèi)核怎么寫(xiě)”吧!
藁城網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,藁城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為藁城近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的藁城做網(wǎng)站的公司定做!
下面是部分代碼:
//公用初始化瀏覽器控件配置 void WebHelper::initWebSetting() { //全局配置只需要設(shè)置一次就行 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); //設(shè)置默認(rèn)的中心點(diǎn)坐標(biāo),建議采用中心點(diǎn)坐標(biāo)的方式 baidu->setMapCenterPoint("121.414,31.1828"); //如果采用加載內(nèi)容方式則需要先設(shè)置不存儲(chǔ)文件 //ie內(nèi)核以及在linux上需要用load的方式加載 //發(fā)現(xiàn) Qt5.5 webkit 也需要用文件加載 #ifdef savehtmlfile baidu->setSaveFile(true); #else baidu->setSaveFile(false); #endif baidu->setFileName(fileName); content = baidu->newMap(); //下面為兩種方式加載網(wǎng)頁(yè),如果內(nèi)容為空則加載網(wǎng)頁(yè)文件否則加載內(nèi)容 //一般為了保密建議加載內(nèi)容,這樣看不到生成的網(wǎng)頁(yè)文件 //可能在linux上的webkit內(nèi)核需要用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 } } //通用數(shù)據(jù)交互類(lèi) //需要自定義繼承自QObject的類(lèi)來(lái)接收QWebEngineView交互數(shù)據(jù),不然會(huì)打印很多煩人的信息 class WebJsData : public QObject { Q_OBJECT public: static WebJsData *Instance(); explicit WebJsData(QObject *parent = 0); public slots: //定義兩個(gè)參數(shù),這樣就涵蓋了所有的情況 type表示類(lèi)型相當(dāng)于唯一標(biāo)識(shí) 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) { //可以在這里重新梳理好再發(fā)出去信號(hào) emit receiveDataFromJs(type, data); }
同時(shí)支持在線地圖和離線地圖兩種模式。
同時(shí)支持webkit內(nèi)核、webengine內(nèi)核、IE內(nèi)核。
支持設(shè)置多個(gè)標(biāo)注點(diǎn),信息包括名稱、地址、經(jīng)緯度。
可設(shè)置地圖是否可單擊、拖動(dòng)、鼠標(biāo)滾輪縮放。
可設(shè)置協(xié)議版本、秘鑰、主題樣式、中心坐標(biāo)、中心城市、地理編碼位置等。
可設(shè)置地圖縮放比例和級(jí)別,縮略圖、比例尺、路況信息等控件的可見(jiàn)。
支持地圖交互,比如鼠標(biāo)按下獲取對(duì)應(yīng)位置的經(jīng)緯度。
支持查詢路線,可設(shè)置起點(diǎn)位置、終點(diǎn)位置、路線模式、路線方式、路線方案(最少時(shí)間、最少換乘、最少步行、不乘地鐵、最短距離、避開(kāi)高速)。
可顯示點(diǎn)線面工具,可直接在地圖上劃線、點(diǎn)、矩形、圓形等。
可設(shè)置行政區(qū)劃,指定某個(gè)城市區(qū)域繪制圖層,在線地圖自動(dòng)輸出行政區(qū)劃邊界點(diǎn)集合到j(luò)s文件給離線地圖使用。
可靜態(tài)或者動(dòng)態(tài)添加多個(gè)覆蓋物。支持點(diǎn)、折線、多邊形、矩形、圓形、弧線、點(diǎn)聚合等。
函數(shù)接口友好和統(tǒng)一,使用簡(jiǎn)單方便,就一個(gè)類(lèi)。
支持js動(dòng)態(tài)交互添加點(diǎn)、刪除點(diǎn)、清空點(diǎn)、重置點(diǎn),不需要刷新頁(yè)面。
支持任意Qt版本、任意系統(tǒng)、任意編譯器。
到此,相信大家對(duì)“Qt多瀏覽器內(nèi)核怎么寫(xiě)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:Qt多瀏覽器內(nèi)核怎么寫(xiě)
網(wǎng)站鏈接:http://vcdvsql.cn/article46/pdichg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、虛擬主機(jī)、網(wǎng)頁(yè)設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)