QWebChannel类

QWebChannel弥补了C++与HTML/JavaScript直接通信的空白。Qt内部自带了qwebchannel.js文件,只要浏览器端支持该js文件,就可以完成相互通信。在通信时,需要在浏览器端的HTML文件中引用该文件。
常用函数:
注册用的函数:
void QWebChannel::registerObject(const QString &id, QObject *object)id表示js端调用的类的名称,object表示C++端需要调用的类。

浏览器端注册
在浏览器的界面端需要加载这个QWebChannel
void QWebEnginePage::setWebChannel(QWebChannel *channel)
这是一个重载函数,浏览器的界面会使用这个channel,并把这个channel安装在JavaScript的世界中。那么,浏览器端就会包含并可以调用这个channel

具体方案

一下代码参考自QtCreator自带的markdown例子,要求5.6版本以及以上
假设在一个C++端的构造函数中,我们注册一个channel,具体代码如下:

QWebEnginePage* page=new QWebEngindPage(this);    // 注册一个网页界面
// preview 是一个QWebEngineView类,相当于一个浏览器引擎,假设这是我们在UI界面中设计并命名的
ui->preview->setPage(page);   QWebChannel* channel=new QWebChannel(this);
// 注册浏览器端js可以调用的类,假设m_content是我们自定义的一个继承QObject的类
channel->registerObject(QString("content"),&m_content);
page->setWebChannel(channel);   // 在浏览器端注册。

在浏览器端的HTML/JaveScript代码中,可以这样使用:

<head><script src="qwebchannel.js"></script>  <!--必须要包含这个文件-->
</head>
<body><script>new QWebChannel(qt.webChannelTransport,function(channel) {var content = channel.objects.content;  // 注意这里的名字与注册时的一致updateText(content.text);  // js自定义的函数// textChanged是content自定义的一个信号,相当于信号连接了一个函数content.textChanged.connect(updateText);  });</script>
</body>

Qt与HTML/JavaScript网页端通信和调用相关推荐

  1. openfire运行环境部署+jwchat网页端通信聊天+插件的基础知识+webchat环境配置和下载地址

    研究Openfire快一个月的时间了,最初的项目要求是利用Openfire作为服务器端,在网页端注册或输入登录信息进行类似QQ的聊天.后来需要在网页端加入客服系统实现匿名登录和实名登录功能,实现N个客 ...

  2. html5图片剪切板,JavaScript 网页端复制图片到剪切板

    前端页面可能需要复制图片到剪切板的功能,这里使用JavaScript来实现这一功能,兼容大部分浏览器 全部代码 复制图片到剪切板 复制图片 var SelectText = function (ele ...

  3. 讲一个api网页全部保存到本地_WebRTC在网页端音视频通话的技术实践

    ​WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API,经过多年来的发展与改进,日臻成熟,作 ...

  4. php和javascript的get和post方式 有人串口转wifi模块httpdclient网页交互通信成功源码2 wifi继电器小黄人软件ypnr

    全部源码下载:链接: http://pan.baidu.com/s/1qXxr0i4 密码: 有人串口转wifi模块 httpd client通信示例-用户使用网页通过服务器收发串口数据get 功能: ...

  5. HTML5期末大作业:商城网页设计——仿京东商城网页端模板(8页面) HTML+CSS+JavaScript...

    HTML5期末大作业:商城网页设计--仿京东商城网页端模板(8页面) HTML+CSS+JavaScript 商城网页HTML代码 学生网页课程设计期末作业下载 商城大学生网页设计制作成 临近期末, ...

  6. HTML5期末大作业:商城网页设计——仿京东商城网页端模板(8页面) HTML+CSS+JavaScript

    HTML5期末大作业:商城网页设计--仿京东商城网页端模板(8页面) HTML+CSS+JavaScript 商城网页HTML代码 学生网页课程设计期末作业下载 商城大学生网页设计制作成 临近期末, ...

  7. Unity WebGL/WebPlayer与html通信对比,在html添加网页端按钮直接测试

    Unity WebPlayer与html通信,在html添加网页端按钮直接测试 由于现在各大浏览器的升级,UnityWebPlayer的网页方式逐渐被摒弃掉,但是很多老项目或者追求稳定的开发者还在选择 ...

  8. 通过javascript在网页端生成zip压缩包并下载

    通过javascript在网页端生成zip压缩包并下载 原文:通过javascript在网页端生成zip压缩包并下载 zip.js是什么 zip.js的github项目地址:http://gildas ...

  9. python web项目导出zip文件_通过javascript在网页端生成zip压缩包并下载

    zip.js是什么 通过zip.js封装一个能在网页端生成zip文件的插件, 直接在网页中创建包含文件夹和文件的压缩包,也可以自定义名字并下载: 如何使用: 1:引用zip.js 2:引用jQuery ...

最新文章

  1. (以pytorch为例)路径(深度)的正则化方法的简单理解-drop path
  2. 日本Quoine的ICO平台正式将BCH作为融资货币
  3. 计算机视觉——自动识别车牌简介
  4. CoreLocation MKMapView
  5. windows2003+PHP-5.3.8+IIS6.0的安装配置
  6. js生日计算年龄_生男生女计算公式超准
  7. 10月编程语言排行榜,来了!
  8. 怎样去掉桌面图标和字的蓝色阴影
  9. vue.js--遇到的一些错误
  10. spring-第八篇之容器中的bean的生命周期
  11. JS设计模式书籍、原则
  12. 软件学院本科毕业设计论文格式详解
  13. chia矿池积点是什么-chia矿池接入的常见问题
  14. 深入理解Flash的沙箱
  15. 【Android 逆向】ELF 文件格式 ( 安装 010 Editor 二进制查看工具的 ELF.bt 插件模板 | 安装 ELF.bt 模板 | 打开 ELF 文件 )
  16. 英伟达显示器停止服务器,NVIDIA 451.67版显卡驱动发布:修复23个Bug、拯救144Hz HDMI显示器...
  17. postgresql设置开机自启动
  18. 代码面试最常用的10大算法(四)
  19. 请教modelsim中vlog的用法
  20. c语言课程设计宠物店,c语言课程设计-宠物店信息管理系统.doc

热门文章

  1. 欧几里德算法+拓展欧几里德算法
  2. Python中yield的作用:迭代生成器
  3. Python内置函数之 range()
  4. SLAM——绘制高精度地图的研究笔记
  5. Pycharm远程调试报错:undefined symbol: AttachDebuggerTracing
  6. yum安装nginx,并配置静态资源服务器
  7. 字符、字符集和字符编码详解(一文扫清疑惑)
  8. Java:JDK、JRE和JVM的关系(图示详解,一眼就能看明白!)
  9. 在Razor中如何引入命名空间?(import namespace in razor view)
  10. 使用xml文件存储数据使用xpath查询