基于QtQuick的C++,qml,Html三者的Bridge交互

主要功能

自定义C++对象并注册到QML

可以在QML中继续扩展C++对象的属性和方法 信号等

将C++对象注入到WebChannel

Html中引入C++对象

JavaScript与C++直接交互

示例代码说明

main.cpp:

//该实例必须直接继承自Object的 QWidget的忽略

qmlRegisterType("DDuiObejct",1,0,"DDQmlObejct");

qml:

//需要将这个对象注册到channel里面

DDQmlObejct{

id: myObject

// the identifier under which this object

// will be known on the JavaScript side

// signals, methods and properties are

// accessible to JavaScript code

WebChannel.id: "DDCore" //这个id可在html中使用

//qml中继续扩展信号

signal someSignal(string message);

//监听C++的信号

onSignalSendToQml: {

messageId.append(message);

}

//自定义函数

function someMethod(message) {

console.log(message);

someSignal(message);

slotShowMessage(message)

return "someMethod:"+message;

}

//扩展的函数 可以定义很多函数

function getThisFilePath(filepath){

var d = getFileContents(filepath);

someMethod(d);

return d

}

//扩展属性

property string hello: "world"

}

===========以下为webengineview的实例和WebChannel的实例===============

//需要注册一个WebChannel对象

WebChannel{

id:changedId

registeredObjects:[myObject]//可以将多个对象注册到这里

}

//主web界面

WebEngineView {

id:webview

anchors.left: parent.left

anchors.top: parent.top

width: parent.width/2

anchors.bottom: parent.bottom

url: "qrc:/chatRecord.html"

webChannel:changedId//指定该对象的沟通桥梁WebChannel

}

有问题反馈

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

QQ: 373955953

QQ群:312125701

github: @寒山-居士

关于作者

var duoduozhijiao = {

nickName : "寒山-居士",

site : "http://www.heilqt.com",

blog : "http://blog.heilqt.com"

}

qml与HTML数据交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...相关推荐

  1. GitHub热榜第一:中国博士用 ArcGIS Dashboard开发可交互全球疫情地图,登上《柳叶刀》!...

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng AI博士笔记系列推荐: 博士笔记 | ...

  2. QtQuick 中的 qml 与 Qt 的 C++

    QtQuick 可以使用内置的 JavaScript 引擎加载相应的 JS 代码,使用起来特别方便. 在 Qt 中使用 C++ 开发底层,QtQuick 用来加载.处理图像,然后使用 Qt 提供的接口 ...

  3. 数据可视化(三)基于 Graphviz 实现程序化绘图

    2019独角兽企业重金招聘Python工程师标准>>> 前言 我之前在几篇文章新一代Ntopng网络流量监控-可视化和架构分析. 数据可视化(一)思维利器 OmniGraffle 绘 ...

  4. 基于html5的数据可视化实现方法研究,基于HTML5的数据可视化实现方法研究

    信息科技 Information Technology 基于HTML5的数据可视化实现方法研究 高科同济大学电子与信息学院,上海 201804摘要 HTML5的出现,为数据可视化提供了新的实现方法.本 ...

  5. QML入门教程:一、QML和QtQuick简介以及QML实例

    从 Qt 4.7 开始,Qt 引入了一种声明式脚本语言,称为 QML(Qt Meta Language 或者 Qt Modeling Language),作为 C++ 语言的一种替代.而 Qt Qui ...

  6. 北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件

    文章目录 请到github仓库或者百度云下载 项目概述 效果 架构 需求分析 运行环境 项目设计 我们这个项目在同一届中算做的很好的了,之所以没有做到最好,是因为有两个技术点没有实现: 服务器多线程并 ...

  7. 让智能交互更加个性化:基于用户的交互设计技术的研究

    作者:禅与计算机程序设计艺术 <5. 让智能交互更加个性化:基于用户的交互设计技术的研究> 引言 5G 通信技术的发展,人工智能技术的普及,以及人们对个性化需求不断提高,让智能交互变得更加 ...

  8. R语言数据热力图绘制实战(基于原生R函数、ggplot2包、plotly包)

    R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包) 目录 R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包)

  9. FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全

    FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全 日子过得好苦逼,我过的很好,只是缺少¥.时间在变,而问题始终未变,你解不解决它都在那里一动不动.不知不觉已经发现手机的中央,电脑的右 ...

最新文章

  1. 『TensorFlow』命令行参数解析
  2. unittest框架执行用例
  3. 算法(20)-leetcode-剑指offer4
  4. Oracle笔记 十一、PL/SQL函数和触发器
  5. CNN网络:MINST数据集的练习
  6. Gantt - attachEvent事件监听
  7. uni-app知识点整理(1)- uni-app简介、环境搭建、项目创建、项目目录文件
  8. IP 地址由网络和主机两部分标识组成
  9. VmWare配置网络桥接模式,实现虚拟机联网。
  10. ai修复照片软件是哪个软件_最近大火的AI修复照片是什么软件做出来的 其实可能就是这个小程序而已...
  11. 用V实现电脑给手机开热点快乐上网
  12. git 创建分支并上传代码
  13. 微信小程序中好看的按钮样式(渐变色)、view的点击变色效果、按钮漂亮的圆角边框、解决hover设置失效
  14. B站弹幕爬取并制成词云
  15. 浅谈Ble-Mesh的LPN模式
  16. WebRTC技术实现视频及语音聊天
  17. Android图片海报制作-自定义文字排版控件组件
  18. Python 上下文管理器和with块 一
  19. lfu实现 java_LFU五种实现方式,从简单到复杂
  20. Java8 JVM参数解读

热门文章

  1. 【TensorFlow】——broadcast_to(在不复制内存的情况下自动扩张tensor)
  2. 学习笔记(48):Python实战编程-grid布局
  3. 封装不同类模板的随机数生成器
  4. 深度学习之pytorch(一) 环境安装
  5. android 官方说明文档,Android官方文档翻译-Accessibility
  6. C语言交换两个数(不创建临时变量)
  7. python中加入绝对路径_理解Python中的绝对路径和相对路径
  8. LOJ bitset+分块 大内存毒瘤题
  9. unity 角色换装
  10. 解决linux下source /etc/profile关闭终端失效问题