当我添加一个矩形
时会发生什么Rectangle{
width:40
heigh: 40
color:"blue"
}
在qml文件中?
什么调用了什么,并绘制了一个蓝色矩形? 机制是什么?你能告诉一些事情要读,我找不到。 感谢
答案 0 :(得分:0)
一般来说:
-> parse Qml code
-> create QDeclarativeItems
-> add to QDeclerativeView's scene
-> call items standard slot like onCreated()
-> call the QDeclarativeItems paint method etc
一旦你将QGraphicsRectItem输入到assistant-qt4(主qt文档助手)中,你会得到一种温暖的肚子感觉,后来才意识到你的qml代码“Rectangle”最终会创建一个。 Qt4 QtQuick实现目前是QGraphicsView / QGraphicsScene的精简抽象。如上所述,步骤相同:
-> create QGraphicsItems
-> add to QGraphicsView's scene
-> call QGraphicsItem paint method etc
这些课程记录得非常好,一旦你理解了它们的原理,你就可以继续前进并研究它们演变为QDeclarative *等等。不幸的是,后者的文档在某些细节上有些缺乏,但整体上非常有用。当然,还有更多 - 但是一旦你意识到源自QGraphicsView / -Scene类的QtQuick进化,其他一切都更合乎逻辑。然后,一瞥源代码(文档缺乏的地方)将使您感觉更加面向 - 因为您已经了解了解析的标记最终如何融合到QGraphicsScene(QDeclarativeView,...)中创建的QGraphicsItem中。
祝你好运!