C++ 在qml文件中添加矩形对象时会发生什么?
当我添加一个矩形时,后面会发生什么C++ 在qml文件中添加矩形对象时会发生什么?,c++,qml,C++,Qml,当我添加一个矩形时,后面会发生什么 Rectangle{ width:40 heigh: 40 color:"blue" } 在qml文件中 什么调用了什么,并绘制了一个蓝色矩形? 机制是什么?你能建议我读点什么吗?我找不到。 谢谢你总的来说: -> parse Qml code -> create QDeclarativeItems -> add to QDeclerativeView's scene -> call items standard s
Rectangle{
width:40
heigh: 40
color:"blue"
}
在qml文件中
什么调用了什么,并绘制了一个蓝色矩形?
机制是什么?你能建议我读点什么吗?我找不到。
谢谢你总的来说:
-> parse Qml code
-> create QDeclarativeItems
-> add to QDeclerativeView's scene
-> call items standard slot like onCreated()
-> call the QDeclarativeItems paint method etc
在assistant-qt4(主要的qt文档助手)中键入QGraphicsRectItem,然后意识到qml代码“矩形”最终创建了一个矩形,您会有一种温暖的感觉。Qt4 QtQuick实现目前是QGraphicsView/QGraphicscene的精简抽象。如上所述,步骤相同:
-> create QGraphicsItems
-> add to QGraphicsView's scene
-> call QGraphicsItem paint method etc
这些类都有非常好的文档记录,一旦你理解了它们的原理,你就可以继续研究它们向QDecrative*等的演变。不幸的是,后者的文档在某些细节上有所欠缺,但总体上非常有用。当然,还有更多,但一旦您意识到源自QGraphicsView/-Scene类的QtQuick演变,其他一切都会更加符合逻辑。然后,对源代码(缺少文档的地方)的一瞥会让您感觉更有方向性——因为您知道解析后的标记最终如何融合到QGraphicscene中创建的QGraphicsSitem中(QDeclarativeView,…)
祝你好运 -1分?为什么?我真的在谷歌上搜索过,这是诺基亚不想让任何人知道的秘密吗?如果有一份关于QML如何在引擎盖下工作的白皮书就好了,但也许没有的原因是因为它仍在快速发展。我认为Qt源是目前最好的参考。。本例中的矩形是一个QDeclarativeItem,您正在绘制的“画布”可能是一个QDeclarativeView。您可以在/src/declarative/util和/src/declarative/graphicsitems中找到这些