qml与HTML数据交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...
基于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交互...相关推荐
- GitHub热榜第一:中国博士用 ArcGIS Dashboard开发可交互全球疫情地图,登上《柳叶刀》!...
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng AI博士笔记系列推荐: 博士笔记 | ...
- QtQuick 中的 qml 与 Qt 的 C++
QtQuick 可以使用内置的 JavaScript 引擎加载相应的 JS 代码,使用起来特别方便. 在 Qt 中使用 C++ 开发底层,QtQuick 用来加载.处理图像,然后使用 Qt 提供的接口 ...
- 数据可视化(三)基于 Graphviz 实现程序化绘图
2019独角兽企业重金招聘Python工程师标准>>> 前言 我之前在几篇文章新一代Ntopng网络流量监控-可视化和架构分析. 数据可视化(一)思维利器 OmniGraffle 绘 ...
- 基于html5的数据可视化实现方法研究,基于HTML5的数据可视化实现方法研究
信息科技 Information Technology 基于HTML5的数据可视化实现方法研究 高科同济大学电子与信息学院,上海 201804摘要 HTML5的出现,为数据可视化提供了新的实现方法.本 ...
- QML入门教程:一、QML和QtQuick简介以及QML实例
从 Qt 4.7 开始,Qt 引入了一种声明式脚本语言,称为 QML(Qt Meta Language 或者 Qt Modeling Language),作为 C++ 语言的一种替代.而 Qt Qui ...
- 北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件
文章目录 请到github仓库或者百度云下载 项目概述 效果 架构 需求分析 运行环境 项目设计 我们这个项目在同一届中算做的很好的了,之所以没有做到最好,是因为有两个技术点没有实现: 服务器多线程并 ...
- 让智能交互更加个性化:基于用户的交互设计技术的研究
作者:禅与计算机程序设计艺术 <5. 让智能交互更加个性化:基于用户的交互设计技术的研究> 引言 5G 通信技术的发展,人工智能技术的普及,以及人们对个性化需求不断提高,让智能交互变得更加 ...
- R语言数据热力图绘制实战(基于原生R函数、ggplot2包、plotly包)
R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包) 目录 R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包)
- FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全 日子过得好苦逼,我过的很好,只是缺少¥.时间在变,而问题始终未变,你解不解决它都在那里一动不动.不知不觉已经发现手机的中央,电脑的右 ...
最新文章
- 『TensorFlow』命令行参数解析
- unittest框架执行用例
- 算法(20)-leetcode-剑指offer4
- Oracle笔记 十一、PL/SQL函数和触发器
- CNN网络:MINST数据集的练习
- Gantt - attachEvent事件监听
- uni-app知识点整理(1)- uni-app简介、环境搭建、项目创建、项目目录文件
- IP 地址由网络和主机两部分标识组成
- VmWare配置网络桥接模式,实现虚拟机联网。
- ai修复照片软件是哪个软件_最近大火的AI修复照片是什么软件做出来的 其实可能就是这个小程序而已...
- 用V实现电脑给手机开热点快乐上网
- git 创建分支并上传代码
- 微信小程序中好看的按钮样式(渐变色)、view的点击变色效果、按钮漂亮的圆角边框、解决hover设置失效
- B站弹幕爬取并制成词云
- 浅谈Ble-Mesh的LPN模式
- WebRTC技术实现视频及语音聊天
- Android图片海报制作-自定义文字排版控件组件
- Python 上下文管理器和with块 一
- lfu实现 java_LFU五种实现方式,从简单到复杂
- Java8 JVM参数解读
热门文章
- 【TensorFlow】——broadcast_to(在不复制内存的情况下自动扩张tensor)
- 学习笔记(48):Python实战编程-grid布局
- 封装不同类模板的随机数生成器
- 深度学习之pytorch(一) 环境安装
- android 官方说明文档,Android官方文档翻译-Accessibility
- C语言交换两个数(不创建临时变量)
- python中加入绝对路径_理解Python中的绝对路径和相对路径
- LOJ bitset+分块 大内存毒瘤题
- unity 角色换装
- 解决linux下source /etc/profile关闭终端失效问题