-
Qt与Js互相调用_java调用qt
- 网站名称:Qt与Js互相调用_java调用qt
- 网站分类:技术文章
- 收录时间:2025-08-30 03:30
- 网站地址:
“Qt与Js互相调用_java调用qt” 网站介绍
目前使用场景有:
- 通过QWebEngineView,来加载某个url或html文件(需要包含特定js文件)。
- 通过QWebChannel绑定到QWebEngineView上,qt可以调用js暴露的接口,js也可以调用qt暴露的接口。
Qt调用Js示例
调用示例
QString strCall = QString("qtLogin('KFadmin','herx123###')"); // 填充js函数调用字符串
auto callback = std::bind(&ShowWeb::on_qt_call_js_callback_login, this, std::placeholders::_1); // 绑定回调函数,如果不需要处理回调返回结果,则可以省略。
m_web_engine_view->page()->runJavaScript(strCall, callback); // 调用js函数
注:
- 目前建议qt与js通信,js返回给qt的返回值,建议使用json格式,方便处理多返回值处理。如果js接口是异步返回,则不需要绑定回调。
- 如果js返回值是异步的,则需要js主动调用qt暴露的接口,而不是绑定回调函数。
Js调用Qt接口示例
js调用qt依赖qwebchannel.js文件,Qt会提供此文件。
<script type="text/javascript" src="./qwebchannel.js"></script>
<script type="text/javascript">
var qt_channel = null;//qt通道,js调用此变量的方法来与qt客户端通信
// 程序启动初始化
window.onload = function () {
if (typeof qt != "undefined") { // 如果qt有定义,说明是在qt客户端调用的此页面
new QWebChannel(qt.webChannelTransport, function (channel) {
qt_channel = channel.objects.qt_channel; // 获取qt_channel,后续js通过此通道与qt进行交互
});
}
else {
alert("qt对象获取失败!"); // 非Qt客户端运行环境
}
}
// js主动调用qt示例
if (qt_channel)
{
qt_channel.alert_msg("js调用Qt"); // 调用qt的alert_msg函数,实现弹框功能
}
</script>
注:
qwebchannel.js:该文件Qt自带的,参考目录D:\Qt\Examples\Qt-5.15.2\webchannel\shared\qwebchannel.js。
目前使用的版本是:Qt-5.15.2,则Qt Creator编译项目时,也要使用Qt-5.15.2版本。
更多相关网站
- Qt使用教程:指定编辑器设置_qt需要设置一个编辑器来构建
- 24章全-Qt 全流程实战企业级项目 - 云对象存储浏览器
- QT远程Linux文件浏览器_qt读取远程电脑的文件目录
- Qt中的IO操作_qt的ide
- QT5.9.9生成并调用自己的DLL_qt怎么调用dll文件
- 从零开始学Qt(25):常用的宏定义_从零开始学习26键
- Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- Qt编程基础_qt编程入门
- Qt 纯C++项目发布为dll的方法(超详细步骤)
- Qt开发dll共享库简单的调试方法_qt发布dll
- 从零开始学Qt(52):QTextStream读写文本文件
- 「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动
- Qt使用教程:指定生成设置(二)_qt二维码生成教程
- 用Qt简化你的开发工具集,从MCU到桌面电脑,应有尽有
- Qt drawText 绘制文本_qt drawrect
- QT框架之个人管理系统实现-前导文
- Qt文件路径:QDir_qt 当前路径
- 怎么在qt中加载css文件_qt怎么添加ui
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)