美文网首页Qt开发之旅
Qt地图应用软件开发(二)Qt与Js交互实现

Qt地图应用软件开发(二)Qt与Js交互实现

作者: 秋冬不寒 | 来源:发表于2022-04-21 23:56 被阅读0次

Qt WebChannel基础

Qt WebChannel允许服务器(QML/ c++应用程序)和客户端(HTML/JavaScript或QML应用程序)之间的点对点通信。它由Qt WebEngine提供了开箱即用的支持。此外,它可以在所有支持WebSockets的浏览器上工作,使Qt WebChannel客户端能够运行在任何JavaScript环境中(包括QML)。这需要基于Qt WebSockets的自定义传输实现。该模块提供了一个JavaScript库,用于将c++和QML应用程序与HTML/JavaScript和QML客户端无缝集成。客户端必须使用JavaScript库来访问由主机应用程序发布的序列化的QObjects。

使用简介

首先,需要引入相应的头文件,

#include <QtWebChannel/QtWebChannel>

并在.pro文件中添加模块:

QT += webchannel

官方示例
Qt WebChannel ChatClient HTML Example: 一个通过WebSocket与QWebChannel服务器通信的HTML/JavaScript客户端。
Qt WebChannel ChatServer Example: 一个简单的聊天服务器,使用QWebChannel c++ API实现。
Qt WebChannel Standalone Example: 一个在浏览器中运行的服务器和远程客户端之间的简单聊天软件。

使用步骤

  1. 从QObject派生子类
  2. 使用QWebChannel注册(registerObject)该类
  3. 在Html文件中可以使用该类相关方法和变量
<script src="qwebchannel.js"></script> 
  <script type="text/javascript">
  new QWebChannel(qt.webChannelTransport,
  function(channel){
  var webobj = channel.objects.webobj;
  window.foo= webobj;
  webobj.jscallme();
  });
  </script>

Qt地图应用软件开发(三)向网页传递数据

相关文章

网友评论

    本文标题:Qt地图应用软件开发(二)Qt与Js交互实现

    本文链接:https://www.haomeiwen.com/subject/egfgertx.html