美文网首页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