Qt有个继承树
在Widgets里面,可以通过setParent加进去!

搞QML的都知道QQmlContext继承于QObject
辣么问题在C++和QML交换的时候!
能不能通过QQmlContext的root结点,强转为QObject然后获取child呢?
答案是不能
如下伪代码:

void Widget::getDataInfo()
{QObject *pRoot = qobject_cast<QObject *>(ui->quickWidget->rootContext());Q_ASSERT(pRoot);qDebug()<<pRoot->children();
}

qml文件如下:

import QtQuick 2.0
import Data 1.0Item {Text {id: myTexttext: qsTr("Hello world")color: "blue"font.pixelSize: 50font.family: "Times New Roman"anchors.centerIn: parent}Data {id: datatext: myText.textsize: myText.font.pixelSize}}

运行截图如下:

然并卵

通过官方文档,知道了一个Visual Parent的概概念
可以通过QQuickItem获取children
然而:QQuickItem也继承了QObject

这样做,就可以做一些网友们所说的“歪门邪道”的事情了!
伪代码如下:

void Widget::getDataInfo()
{QQuickItem *pRoot = ui->quickWidget->rootObject();Q_ASSERT(pRoot);qDebug()<<pRoot->children();m_data =  qobject_cast<Data *>(pRoot->children()[1]);qDebug() << m_data->text();
}

qml文件如上面的qml;
运行截图

再随便放一张程序运行截图:

Qt文档阅读笔记-Visual Parent的初步理解(获取QML中的根节点及其子结点)相关推荐

  1. Qt文档阅读笔记-共享库的创建与调用

    使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...

  2. Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图

    Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图 QHeightMapSurfaceDataProxy:是Q3DSurface的一个基本代理类. 他是专门加载高度图. 高度图是没有X, ...

  3. Qt文档阅读笔记-Rotations Example相关

    Rotations Example文档阅读笔记 使用这种方式,对y轴和z轴进行旋转. QQuaternion yRotation = QQuaternion::fromAxisAndAngle(0.0 ...

  4. Qt文档阅读笔记-QWebEngineView及QML WebEngineView

    这里主要是最近有给Java Web项目及Qt项目需要混合,自己搞的QtWebEngine没有问题,而用了项目里面的,就有问题,在此阅读下官方资料,看看能不能解决这样莫名其妙的问题,在此记录下本次的阅读 ...

  5. Qt文档阅读笔记-moc工具使用及其理论(moc工具如何添加到makefile中)

    moc(Meta-Object Compiler):用于处理Qt中关于C++的扩展. moc工具读取C++头文件,看看这个头文件里面的类是不是包含Q_OBJECT宏,它会将这个头文件,转换为带有met ...

  6. Qt文档阅读笔记-Fortune Client Example实例解析

    目录 官方解析 实例代码 博主增加解析 官方解析 Fortune Client Example 以使用QTcpSocket为例子,服务端可以配合Fortune Server或Threaded Fort ...

  7. Qt文档阅读笔记-QML Canvas的官方解析及实例

    目录 官方解析 博主例子 官方解析 Canvas可以用于画直线或曲线,简单或复杂的形状,图形,图片,并且他能加文字,颜色,阴影,和颜色梯度,和其他的装饰,可以进行低像素操作.Canvas可以保存成图像 ...

  8. Qt文档阅读笔记-Q_PROPERTY解析及实例

    目录 官方解析 博主栗子 官方解析 这个宏用于继承于QObject的类声明属性.这样声明后的属性行为与类数据成员一样,但是他们可以通过元对象系统进行访问. Q_PROPERTY(type name(R ...

  9. Qt文档阅读笔记-对Style Plugin Example实例的解析

    目录 前言 Style Plugin Example SimpleStylePlugin Class 定义 SimpleStylePlugin Class 实现 main()函数 The Simple ...

最新文章

  1. CSS将长文字换行的方法 (转)
  2. CentOS7内核升级
  3. GO语言中json与map的转换
  4. 世纪前线网络质量测试工具 是什么_成为一名软件测试工程师有什么前途?
  5. phpstorm遍历PHP数组,使用PHPStorm对齐数组的键值对
  6. (八):构建WineLib DLL
  7. 所有的计算机语言都必须进行多进制运算,2018职称计算机考试巩固练习及答案17...
  8. frp ---- golang编写的内网穿透工具简介
  9. lidar与相机联合标定开源软件介绍
  10. pandas.DataFrame API
  11. openssl 升级
  12. del/xcopy时如何在输出窗口中,不显示文件名
  13. paip.lucene 4.3 中文语义搜索最佳实践
  14. H5:100款html5微信小游戏最新最新源码
  15. 基于Java的实验室预约管理系统
  16. Parsing error: No Babel config file detected for ....
  17. Android本应用数据清除管理器
  18. 带你玩转Github
  19. php不是当前时间,php取得时间与当前时间不一样
  20. Matlab-多曲线画法和点标记

热门文章

  1. 第一次给知名项目贡献代码,有点紧张
  2. 编程萌新注意:别再这样问问题了!学会这样快速定位错误内容
  3. 海信集团:通过数据来驱动企业的管理,让数据真正成为生产力
  4. “不融资,不上市”的帆软为何上榜福布斯2021 Cloud 100强?
  5. 主人的C++桌上也没有这么好看的花朵了
  6. 结合PE格式对linker分析1
  7. 一个Python小白5个小时爬虫经历,分享一下
  8. 好用到哭!你需要立刻学会的20个Python代码段,你get到了吗?
  9. 互联网又一个变态条款 “奋斗者协议”
  10. 下一代 Node 强势来袭:Deno