QT += core gui
QT += axcontainer
QT+=network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = QWeb
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += main.cpp
dialog.cpp
HEADERS += dialog.h
FORMS += dialog.ui
DISTFILES +=
my.html
2.
#ifndef DIALOG_H
#define DIALOG_H
#include
#include
#include
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
private slots:
void on_pushButton_clicked();
void server_New_Connect();
void socket_Read_Data();
private:
Ui::Dialog *ui;
QTcpServer *server;
QTcpSocket *socket;
};
#endif // DIALOG_H
3.
#include “dialog.h”
#include “ui_dialog.h”
#include<ole2.h>
#include
#include
#include
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
server=new QTcpServer();
connect(server,&QTcpServer::newConnection,this,&Dialog::server_New_Connect);
ui->axWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));
QString mapHtml=QDir::currentPath()+"/my.html";
ui->axWidget->dynamicCall("Navigate(const QString&)",mapHtml);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
if(ui->pushButton->text()==tr(“侦听”))
{
int port=ui->port->text().toInt();
if(!server->listen(QHostAddress::Any,port))
{
qDebug()<errorString();
return;
}
ui->pushButton->setText(“取消侦听”);
qDebug()<<“Listen successfully!”;
}
else
{
socket->abort();
server->close();
ui->pushButton->setText(“侦听”);
}
}
void Dialog::server_New_Connect()
{
socket=server->nextPendingConnection();
QObject::connect(socket,&QTcpSocket::readyRead,this,&Dialog::socket_Read_Data);
qDebug()<<“A Client connect!”;
}
void Dialog::socket_Read_Data()
{
QByteArray buffer;
buffer=socket->readAll();
QString str;
if(!buffer.isEmpty())
{
str=QString::fromLocal8Bit(buffer);
}
QString i,j;
i=str.left(10);
j=str.right(9);
QString test_str;
test_str=“addpoint(”+i+","+j+")";
QAxObject *document = ui->axWidget->querySubObject(“Document”);
QAxObject *parentWindow = document->querySubObject(“parentWindow”);
parentWindow->dynamicCall(“execScript(QString,QString)”,test_str,“JavaScript”);
}
4.
#include “dialog.h”
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
return a.exec();
}
5.
获取百度地图api方式:
(http://api.map.baidu.com/lbsapi/creatmap/index.html)