Qt加载本地html文件 并且调用JS的函数在Qt中使用
来源:互联网 发布:编程珠玑 第3版 pdf 编辑:程序博客网 时间:2024/05/19 23:53
这一段时间一直在搞地图 在网页上弄好之后 要和Qt进行交互 查了好多资料 现在就总结一下
首先1个html文件(含有JS脚本函数,这个函数要在qt上用到)
程序:
html中JS函数
function forQtText()
{
alert("this is a test :forQtText");
}
Qt工程:
源文件:(加载完html就调用JS函数)
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QUrl>
#include <QWebView>
#include <QDir>
#include <QRect>
#include <QMessageBox>
#include <QWebFrame>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->webView, SIGNAL(loadFinished(bool)), this, SLOT(finished(bool)));
QWebSettings *settings = ui->webView->page()->settings();
settings->setAttribute(QWebSettings::JavascriptEnabled,true);
settings->setAttribute(QWebSettings::JavaEnabled,true);
settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);
settings->setAttribute(QWebSettings::JavascriptCanAccessClipboard,true);
settings->setAttribute(QWebSettings::DeveloperExtrasEnabled,true);
settings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
settings->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, true);
settings->setAttribute(QWebSettings::JavascriptCanCloseWindows, true);
settings->setAttribute(QWebSettings::AutoLoadImages,true);
settings->setAttribute(QWebSettings::PluginsEnabled, true);
//ui->webView->setUrl(QUrl("file:///D:/QtProjects/googleMap/GoogleMapAPIV3/Example_GoogleMapAPI.html"));
ui->webView->load(QUrl("file:///D:/QtProjects/googleMap/GoogleMapAPIV3/Example_GoogleMapAPI.html"));
ui->webView->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::finished(bool sign)
{
if(sign)
{
QWebFrame *frame = ui->webView->page()->mainFrame();
//QString cmd = QString("test(%1, %2, %3);").arg(32.034019).arg(118.750572).arg(QString(""center""));
QString cmd("forQtText()");
frame->evaluateJavaScript(cmd);
}
}总结:
1.Qt调用JavaScript:QWebFrame 提供了一个evalueJavaScript()方法,直接调用JS函数方法。
2.JavaScript调用Qt函数:QWebFrame提供了一个addToJavaScriptWindowObject()方法。
0 0
- Qt加载本地html文件 并且调用JS的函数在Qt中使用
- QT QWebview 调用所加载网页中的JS函数
- ios如何在项目中添加本地html文件,并解决无法加载图片、css、js的问题
- iOS webView加载本地html 调用 js,css (基本使用)
- 部分告别Qt调试,另类使用显示Qt程序中函数加载顺序的方式
- 如何在托管程序中动态加载dll并且调用其中的函数
- Qt中对于SHGetSpecialFolderPath函数的调用
- qt model中headerData()函数的调用
- 如何在html中调用js函数
- qt中调用dll文件的方法
- qt之加载本地翻译文件
- 关于在资源中的QML文件中访问本地Image文件(Qt的Bug)
- 如何在html中调用JS文件
- 如何在html中调用JS文件
- 在Qt代码里调用js中的函数
- 在Qt代码里调用js中的函数
- IOS使用webview加载本地HTML文件,压入JS
- 在Qt中如何使用QtDesigner创建的UI文件
- Linux安装NS3
- class 的isa指针
- PopupWindow遮住虚拟键盘
- http
- 聊聊数据库中的关键字——字段、属性、列、元组、记录、表、主键、外键
- Qt加载本地html文件 并且调用JS的函数在Qt中使用
- Mysql 求时间 between 昨天 and 上个月的今天 等时间函数
- Spring 3.x jar 包详解 与 依赖关系
- delphi的Public,Private,Protected,Published作用域
- linux工作调度 at、cron
- swift 搜索框(UISearchBar)实现简单的搜索功能
- g++生成so动态库文件
- 排序算法
- POJ 3693 后缀数组+RMQ