QT通过JS与HTML的交互
2018-01-17 11:10
337 查看
头文件加入
QT += core gui webenginewidgets webchannel通过QWebChannel与JS交互原理
QWebEnginePage *page = new QWebEnginePage(this);
webView->setPage(page);
webView->load(QUrl("qrc:/html/index.html"));
webView->show();
QWebChannel *channel = new QWebChannel(this);
//注册一个content 这里的内容通过JS的content来获取
channel->registerObject(QString("content"),this);
page->setWebChannel(channel);注意:一定要先给WebView设置page,在加载网页,否则网页出不来!
QT发送信息到JS:
signals:
void sendText(const QString &s_user,const QString &s_pwd);
QT接收到JS的信息
JS中对信息的操作
window.onload = function () {
new QWebChannel(qt.webChannelTransport,function (channel) {
var content = channel.objects.content;
//接收QT发送来的
content.sendText.connect(function (s_user, s_pwd) {
document.getElementById("userName").value = s_user;
document.getElementById("userPwd").value = s_pwd;
})
//传给QT
document.getElementById("submit").onclick = function () {
var userName = document.getElementById("userName").value;
var userPwd = document.getElementById("userPwd").value;
document.getElementById("userName").value = "";
document.getElementById("userPwd").value = "";
content.receiveText(userName,userPwd);
}
})
}JS中content.sendText.connect不曾关闭
在MainWindow中关闭连接
MainWindow::~MainWindow()
{
this->disconnect();
}
本文转载于:
http://blog.csdn.net/me_badman/article/details/54929063
QT += core gui webenginewidgets webchannel通过QWebChannel与JS交互原理
QWebEnginePage *page = new QWebEnginePage(this);
webView->setPage(page);
webView->load(QUrl("qrc:/html/index.html"));
webView->show();
QWebChannel *channel = new QWebChannel(this);
//注册一个content 这里的内容通过JS的content来获取
channel->registerObject(QString("content"),this);
page->setWebChannel(channel);注意:一定要先给WebView设置page,在加载网页,否则网页出不来!
QT发送信息到JS:
signals:
void sendText(const QString &s_user,const QString &s_pwd);
//点击按钮 设置发送的文本 void MainWindow::callJSBtnClicked() { //emit sendText(user->text(),password->text()); sendText(user->text(),password->text()); user->setText(""); password->setText(""); }
QT接收到JS的信息
public slots: void receiveText(const QString &r_user,const QString &r_pwd);
void MainWindow::receiveText(const QString &r_user, const QString &r_pwd) { user->setText(r_user); password->setText(r_pwd); }要用public才行!
JS中对信息的操作
window.onload = function () {
new QWebChannel(qt.webChannelTransport,function (channel) {
var content = channel.objects.content;
//接收QT发送来的
content.sendText.connect(function (s_user, s_pwd) {
document.getElementById("userName").value = s_user;
document.getElementById("userPwd").value = s_pwd;
})
//传给QT
document.getElementById("submit").onclick = function () {
var userName = document.getElementById("userName").value;
var userPwd = document.getElementById("userPwd").value;
document.getElementById("userName").value = "";
document.getElementById("userPwd").value = "";
content.receiveText(userName,userPwd);
}
})
}JS中content.sendText.connect不曾关闭
在MainWindow中关闭连接
MainWindow::~MainWindow()
{
this->disconnect();
}
本文转载于:
http://blog.csdn.net/me_badman/article/details/54929063
相关文章推荐
- QT通过JS与HTML的交互
- 通过Dreamweaver画图把android复杂多点击的页面转换成html,再通过android和js的交互实现点击
- Qt5.6 c++与网页html/js的交互实现
- flex(as) 与 html(js)的通信交互
- 通过js去掉所有的html标签,得到HTML标签中的所有内容
- 界面与js(百度地图 API)交互--Qt 网络
- Android项目中的assert文件下的html里的js交互
- 总结Silverlight与HTML页面交互基本方法(js调用Silverlight方法/属性)
- js通过html2canvas,jspdf,canvg来对网页进行截图生成pdf
- android Activity 和 HTML 数据通信(通过js接口方式)
- 通过WebViewJavascriptBridge实现OC与JS交互
- QT源码阅读——QT与HTML交互编程
- 通过WebView实现JS和本地交互
- Android 之webview加载html 和js做交互
- winfrom中的webbrowser与web里面的html以及js的交互
- Android Html交互_二_ JS与App互相调用
- 通过js把html标签转化为普通字符,再用java进行反转
- C#winForm程序与html JS交互调用
- html 下 通过js打开本机程序的方法
- vue.js通过子组件通信和父子组件通信实现动态表单动态绑定事件(适合交互系统统一使用)