QAxWidget调用JS(使用IE内核)
来源:互联网 发布:姐妹团推广 网络诈骗 编辑:程序博客网 时间:2024/06/07 16:43
Widget::Widget(QWidget *parent) :
QWidget(parent)
{
webWidget = new QAxWidget;
webWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));
loadNavigate();
webWidget->setObjectName(QString::fromUtf8("webWidget"));
webWidget->setFocusPolicy(Qt::StrongFocus);
webWidget->setProperty("DisplayAlerts",false); //不显示任何警告信息。
webWidget->setProperty("DisplayScrollBars",false); // 显示滚动条
connect(webWidget,SIGNAL(NavigateComplete2(IDispatch*,QVariant& )),
this,SLOT(sltNavigateComplete2(IDispatch*,QVariant&)));
QPushButton *reloadButton = new QPushButton("Reload");
connect(reloadButton,SIGNAL(clicked()),this,SLOT(sltReloadButtonClick()));
QPushButton *testButton = new QPushButton("Draw");
connect(testButton,SIGNAL(clicked()),this,SLOT(sltTestButtonClick()));
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addStretch();
buttonLayout->addWidget(reloadButton);
buttonLayout->addStretch();
buttonLayout->addWidget(testButton);
buttonLayout->addStretch();
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(webWidget);
mainLayout->addLayout(buttonLayout);
this->setLayout(mainLayout);
this->resize(1000,500);
}
下面两个地址为本地地图,测试可用
void Widget::loadNavigate(){webWidget->dynamicCall("Navigate(const QString&)","file:///E:/MyProjects/MWebBrowser/MWebBrowser/2.html");//webWidget->dynamicCall("Navigate(const QString&)","http://192.168.2.163/gisflash/maintest.jsp");//webWidget->dynamicCall("Navigate(const QString&)","http://localhost:9080/centranGIS/mapJsp.html");}void Widget::sltTestButtonClick(){QAxObject *document = webWidget->querySubObject("Document");QAxObject *parentWindow = document->querySubObject("parentWindow");parentWindow->dynamicCall("execScript(QString,QString)","Test()","JavaScript");/*// 以下是地图加点的操作
QString js;
js = "DrawMarker('{\"id\":1,\"label\":\"4444\",\"lat\":39.945824060,\"lon\":116.28546870,\"type\":1}')";
parentWindow->dynamicCall("execScript(QString,QString)",js,"JavaScript");
*/
/*// 获取webWidget的文档说明
QString doc = webWidget->generateDocumentation();
QFile outFile("E:/MyProjects/MWebBrowser/webWidget.html");
outFile.open(QIODevice::WriteOnly|QIODevice::Append);
QTextStream ts(&outFile);
ts<<doc<<endl;
*/
}void Widget::sltNavigateComplete2(IDispatch *pDisp, QVariant &URL){qDebug() << "hello";}void Widget::sltReloadButtonClick(){loadNavigate();
}2.html文件<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> <script type="text/javascript"> function Test(){ alert("你调用了全局函数Test"); }</script> </head> <body> <input type="button" value="click me" onclick="Test();" /> </body></html>
0 0
- QAxWidget调用JS(使用IE内核)
- 通过QAxWidget调用IE浏览器
- java使用jdic组件调用ie内核
- QT使用插件QAxWidget
- QT使用插件QAxWidget
- QAxWidget使用小结
- QAxWidget类的使用
- QT使用插件QAxWidget
- QT使用插件QAxWidget
- QAxWidget (QAxObject)调用com组件
- QAxWidget
- js调用打印预览功能(IE)
- WebBrowser(IE) 与 JS 相互调用
- js调用ie打印
- Qt使用QAxWidget播放FLASH
- 调用ie内核标签-浏览器
- IE下使用js调用系统activex实现文件下载
- js连接sqlite(IE内核浏览器适用)
- 给需求做一个DNA检测
- DES加密算法
- 时间选择器(滚动选择器)的优化和修改
- 如何获取windows系统资源
- sass初识笔记
- QAxWidget调用JS(使用IE内核)
- Incoming conferences
- YTUOJ-重复字符串
- memset 函数初始化用法
- 如何使用递归实现归并排序
- HTTP Error 500.19 – Internal Server Error – 0x80070021 (IIS 8.5)
- 【BZOJ1758】【Wc2010】重建计划 分数规划+树分治单调队列check
- ubuntu下安装phpredis的模块扩展
- XStream配置XML节点既有属性又有内容