QT与JavaScript交互 Qt调用JS脚本_qt js

};


注意:在将qt对象暴露给js时,要在js中执行qt对象之前暴露,否则js不认识qt的对象名称.所以通常通过链接QWedView的信号 javaScriptWindowObjectCleared,在槽中进行暴露。


### 完整代码


#### mainwindow.h



#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include
#include

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow {
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

public slots:

// 设置QT对象暴露给JS的槽函数
void addMainWindowToHtml();

// 在js中调用的无参成员函数
void JsCallNoParam();

// 在js中调用的有参成员函数
void JsCallWithParam(int num,QString str);

// 在js中调用的有返回值的成员函数
QString JsCallWithReturn();

private slots:

// html文件加载完成槽函数
void onPageLoadFinished(bool);

// QT调用js中的函数(无参、有参、有返回值的按钮槽函数)
void on\_btn\_noparam\_clicked();
void on\_btn\_withparam\_clicked();
void on\_btn\_withreturn\_clicked();

private:
Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H


#### mainwindow.cpp



#include “mainwindow.h”
#include “ui_mainwindow.h”
#include
#include
#include <QtWebKit/QWebView>
#include <QtWebKit/QWebPage>
#include <QtWebKit/QWebPage>
#include <QtWebKit/QWebFrame>
#include
#include
#include

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow){
ui->setupUi(this);

// 加载资源中的 html
// ui->webView->load(QUrl("qrc:/html.html"));

// 加载本地html方式
ui->webView->load(QUrl::fromLocalFile("/home/guoqr/html.html"));

//页面加载完
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值