内容简介:在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流
基于QtQuick的C++,qml,Html三者的Bridge交互
主要功能
-
自定义C++对象并注册到QML
-
可以在QML中继续扩展C++对象的属性和方法 信号等
-
将C++对象注入到WebChannel
-
Html中引入C++对象
-
JavaScript与C++直接交互
示例代码说明
main.cpp:
//该实例必须直接继承自Object的 QWidget的忽略
qmlRegisterType<DDQmlObejct>("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
}
有问题反馈
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流
关于作者
var duoduozhijiao = {
nickName : "寒山-居士",
site : "http://www.heilqt.com",
blog : "http://blog.heilqt.com"
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- iOS 12 人机交互指南:交互(User Interaction)
- 生活NLP云服务“玩秘”站稳人机交互2.0语音交互场景
- asyncio之子进程交互
- 以太坊交互工具
- 学习 PixiJS — 交互工具
- Python基础(7)-用户交互
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
加密与解密(第4版)
段钢 / 电子工业出版社 / 2018-10-1 / 198
《加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要......一起来看看 《加密与解密(第4版)》 这本书的介绍吧!