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

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

687474703a2f2f7174646475692e62302e7570616979756e2e636f6d2f6769746469722f6272696467652e706e67

主要功能

自定义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"

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html为什么要进行表单验证_化学锚栓为什么要进行拉拔试验?

点击箭头处“蓝色字”,关注我们哦!!化学锚栓是继膨胀锚栓之后出现的一种新型紧固材料,由化学药剂与金属杆体组成,是通过特制的化学粘接剂,将螺杆胶结固定于砼基材钻孔中,以实现对固定件锚固的复…

电路基础知识讲解(太全面了)

IT技术分享社区个人博客网站:https://programmerblog.xyz文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基…

github设置仓库可见性 私人仓库设置

一:点击Setting 二:点击Make private 三:阅读关于将仓库设为私有的警告。 入您要设为私有的仓库的名称,例如 accountname/reponame。 单击 I understand, make this repository private(我已了解,请将此仓库设为私有)

html鼠标悬停区域拉伸,html – :将鼠标悬停在具有边框半径的div上

这里的问题是子元素不继承父元素的border-radius.有两种方法可以实现您想要的:您可以将子元素的border-radius设置为匹配或大于父元素的radius,或者将父元素的overflow属性设置为hidden.这是一个快速的片段,说明了问题和两个解决方案:*{box-sizing:borde…

rfid在高速公路管理中的应用_RFID技术与ETC技术在弱电门禁系统中应用

前言:无线射频识别技术(RFID技术)较早的大规模的综合应用,发展至今,我国的RFID技术已经较为成熟。 相关技术1、无线射频识别 RFID(Radio Frequency Identification,无线射频识别)是一种非接触式的自动识别技术,它通过射…

Idea中Terminal中git基本操作

列出分支 列出分支基本命令:git branch 没有参数时,git branch 会列出你在本地的分支。 上图的意思就是,我们有一个叫做 master 的分支,并且该分支是当前分支(有*星号的)。 当你执行 git init 的时候,默认情况下 Gi…

计算机体系结构知识笔记

计算机体系结构结构:计算机的概念结构、功能和性能特性,它从一个更高的层次对计算机的结构特征等宏观特征进行研究。 1、计算机体系结构分类 2、CISC和RISC 指令体系结构(ISA):一个处理器支持的指令和指令的字节级编码…

java类的加载机制

一、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象&…

razor 写入html标记,如何在Razor中编写“ Html.BeginForm”

泛舟湖上清波郎朗以下代码可以正常工作:using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype "multipart/form-data" })){ Html.ValidationSummary(true) …

windows安全模式_Winclone 8 for Mac(Windows分区备份迁移和还原工具)

winclone 8 Mac版是一款专业的boot Camp迁移助手,能够将你的PC移动到你的Mac中,让你实现win系统的迁移。winclone Mac版可以将Bootcamp分区安装的windows进行克隆也可将克隆文件传回Bootcamp分区。并且操作简单。你只需要通过几次点击,就能快…

IDEA中一个被低估的功能,一键把项目代码绘制成UML类图

阅读本文大概需要 2 分钟。来自:blog.csdn.net/hy_coming/article/details/80741717最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化…

java导出生成word(类似简历导出)

最近做的项目,需要将一些信息导出到word中。在网上找了好多解决方案,现在将这几天的总结分享一下。 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间…

计算机基础:存储系统知识笔记(一)

1、存储系统定义 由一个不同容量、成本和访问时间的存储结构构成的层次结构,这些存储器通过适当的硬件和软件有机的组合在一起。 存储器的层次:CPU内部的寄存器、高速缓存Cache、主存储器、辅助存储器 2、存储器的分类 2.1 存储位置分类 内存&#xff1a…

ae绘图未指定错误怎么办_早晨深化设计研究院47个快捷键50个CAD技巧助你神速绘图,玩转CAD...

终于知道为什么别人用CAD总比我快了,原来他们早就掌握了这些实用的CAD技巧,还没看完我就默默地转了,总有用得到的时候。一、47个快捷键1. 创建直线的快捷方式是L空格2. 创建圆的快捷方式是C空格3. 创建圆弧的快捷方式是A空格4. 创建矩形的快捷…

计算机基础:存储系统知识笔记(二)

1、高速缓存 1.1 定义 用来存放当前最活跃的程序和数据。 特点:容量在几千字节到几兆之间,速度比主存快5~10倍左右。快速半导体组成。 1.2 高速缓存的组成 一般位于CPU和主存之间。主要包括管理模块、由相联存储器构成的存储表、小容量的高速存储器。 1.…

2020html5开发工具,2020web前端学习路线

原标题:2020web前端学习路线2020年最新web前端学习路线!接下来,教大家如何从零基础小白学习web前端,没有基础的伙伴也不要着急,有给大家整理视频教程,文末,大家按需学习就好!一、入门…

layuiajax提交表单控制层代码_漏洞预警|ThinkPHP 5.0 远程代码执行

漏洞预警|ThinkPHP 5.0 远程代码执行2019-01-11事件来源2019年1月11日,ThinkPHP Github仓库发布了新的版本v5.0.24,包含重要的安全更新,山石安服团队经过分析把该漏洞危险级别定为严重。漏洞描述ThinkPHP是一个快速、兼容而且简单的轻量级国产…

计算机基础:存储系统知识笔记(三)

1、相联存储器 1、相联存储器介绍 属于按内容访问的存储器。 原理:把数据或数据某一独立单元作为关键字,用该关键字和存储器的每个存储单元比较,相同则表示找到对应的存储单元。 2、相联存储器的组成部件 1、输入检索寄存器:存放要…

事业单位考试题库计算机网络,2015年事业单位计算机基础知识试题及答案

2015年事业单位计算机基础知识试题及答案一、单选题1、根据报文交换的基本原理,可以将其交换系统的功能概括为A)存储系统 B)转发系统C)存储-转发系统 D) 传输-控制系统2、TCP/IP网络类型中,提供端到端的通信的是A)应用层 B) 传输层C)网络层 D)网络接口层…

list 排序_十个必知的排序算法|Python实例系列

十大排序:1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序8.计数排序9.桶排序10.基数排序完整代码和注释如下# -*- coding: UTF-8 -*-#Space: https://github.com/Tri-x/exercise#Space: https://space.bilibili.com/187492698#Author: Trix#Descriptio…