溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT代替WebView的方法及使用例子

發布時間:2020-08-15 01:07:34 來源:網絡 閱讀:14439 作者:QcPointSudo 欄目:開發技術

  由于QT版本更新,QT里面的WebView控件找不到了,不過通過查找一些資料和自己的摸索,終于明白如何使用QT里面的AxWidget去替換WebView。

  首先在UI里面添加一個QAxWidget的控件拉到UI上面去

QAxWidget:

 做好這步以后還需要將你的QAxWidget提升為WebQAxWidget這時候基本搞定了UI設計的控件要求

下面是我制作的的一個地圖顯示的源代碼



#include "map.h"

#include "ui_map.h"

#include "QApplication"

#include "QListWidgetItem"

#include "QListWidget"

#include "QMessageBox"

#include "QDir"

#include "QFileDialog"

#include "QFile"

#include "QListWidgetItem"

#include "QDebug"

#include "QVariant"

#include "QAbstractEventDispatcher"

#include "QUrl"

#include "QNetworkAccessManager"

#include "QNetworkRequest"

#include "QNetworkReply"

#include "QUrlQuery"

#include "QtNetwork"

#include "QDesktopWidget"

#include "QHttpPart"

#include "QFrame"


Map::Map(QWidget *parent) :

    QWidget(parent),

    ui(new Ui::Map)

{

    ui->setupUi(this);

    setWindowTitle("Map");

    setMaximumHeight(408);

    setMinimumHeight(408);

    setMaximumWidth(399);

    setMinimumWidth(399);

    //ui->addrLineEdit->setText("https://www.baidu.com/");

    this->showBaiduMap();


    connect(ui->goCityBtn,SIGNAL(clicked(bool)),this,SLOT(showAddrWeb()));

    connect(ui->mapBtn,SIGNAL(clicked(bool)),this,SLOT(showBaiduMap()));

    connect(ui->DispalyThething,SIGNAL(clicked(bool)),this,SLOT(ShowDataMapSlots()));

}


Map::~Map()

{

    delete ui;

}

void Map::webShow(const QString &url)

{

    ui->webBrowser->dynamicCall("Navigate(const QString&)",url);  //打開一個網站在webBrower控件內

}


void Map::showAddrWeb()

{

    QString addr=ui->addrLineEdit->text();

    //if((addr.indexOf("www")!=0)&&(addr.indexOf("http")!=0))  return;

    webShow(addr);

}


void Map::showBaiduMap()

{

    QString mapHtml=QDir::currentPath()+"/MapFile/BaiduMap.html";

    qDebug()<<QDir::currentPath();

    //qDebug()<<myurl;

    //ui->addrLineEdit->setText("地圖");

    webShow(mapHtml);

}

void Map::ShowDataMapSlots()

{


}

/*

QUrl Map::GPSMark(const QString &GPSCoordinate)

{


    QUrl temp;

    QString ret;

    HttpClient * http = new HttpClient();

    QUrl url;

    url.setUrl("http://api.map.baidu.com/marker");

    QUrlQuery urlQuery;

    urlQuery.addQueryItem("location", GPSCoordinate);

    urlQuery.addQueryItem("title", tr("my GPS location"));  //標點的標題

    urlQuery.addQueryItem("content", tr("current location"));       //標點的內容

    urlQuery.addQueryItem("output", "html");

    urlQuery.addQueryItem("coord_type", "bd09");

    urlQuery.addQueryItem("src", "map");

        url.setQuery(urlQuery);

    http://map.baidu.com/?latlng=40.047669,116.313082&title=my gps loclation

    url = QUrl("http://map.baidu.com/?latlng=40.047669,116.313082&title=我的位置&content=百度奎科大廈&autoOpen=true&l");

    webShow(url);

    setWindowTitle(url.toString());

    return temp;

}*/


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女