QtQuick的结构体系小结


前段时间学习了一下QtQuick的结构体系,初步总结如下:

 

QtQuick是从Graphics View框架发展而来的,这个框架的核心类有以下几个:

    QGraphicsView 继承自QWidget,用于显示QGraphicsScene中的QGraphicsItem对象

    QGraphicsScene 用于管理和维护QGraphicsItem

    QGraphicsItem Graphics框架显示对象的基类

在处理事件时,QGraphicsView通过QGraphicsScene,把QWidget体系的事件传到QGraphicsItem中,QGraphicsItem的层次化体系和QWidget有几分相似,不过两者应该是不相关的(QWidget有TLW概念,但是QGraphicsItem没有,所以不能独立显示,必须加入到QGraphicsScene中)。

 

QtQuick(QDeclarative)基于Graphics View框架,实现了一些常用的UI类,并且加入了脚本解析引擎,使UI的组织得更方便。这个体系包括以下几个核心类:

QDeclarativeView 继承自QGraphicsView,用于显示QDeclarative的UI(基于UML的UI)

QDeclarativeItem 继承自QGraphicsItem,所有QtQuick的可视化element的C++实现类都必须继承自这个类

QDeclarativeComponent 用于封装一段UML,提供创建QDeclarativeItem的接口,需要QDeclarativeEngine的支持

QDeclarativeEngine 用于访问和管理QML上下文,为QDeclarativeComponent的实例化提供支持

QDeclarativeContext QML上下文,即QML的运行环境

 

PS:看reference的时候发现,Qt开发人员基于GraphicsItem实现了两个特别的类QGraphicsProxyWidget和QGraphicsWebView,但是从继承关系上看,这应该是QtQuick以外的东西了,不过这两个提供的都是QtQuick中没有实现的功能,或许有什么方法可以整合到QtQuick的UI中?


参考:http://doc.qt.nokia.com/4.7/qtquick.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值