由于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()< //qDebug()< //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; }*/