Что происходит, когда я добавляю объект прямоугольника в файл qml? - PullRequest
0 голосов
/ 06 августа 2011

Что происходит позади, когда я добавляю прямоугольник

Rectangle{
 width:40
 heigh: 40
 color:"blue"

}

в файл qml?

Что вызывает то, что и синий прямоугольник был нарисован?Какой механизм?Можете ли вы посоветовать что-нибудь почитать, я не смог найти.Спасибо

1 Ответ

0 голосов
/ 16 апреля 2012

В целом:

 -> 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 * и т. Д. К сожалению, в документации последнего не хватает некоторых деталей, но в целом они очень полезны. Конечно, это еще не все, но как только вы поймете эволюцию QtQuick, происходящую из классов QGraphicsView / -Scene, все остальное станет гораздо более логичным. Затем, проблеск в исходный код (там, где не хватало документации) заставит вас чувствовать себя намного более ориентированным - поскольку у вас есть представление о том, как анализируемая разметка в конечном итоге конвертируется в beeing QGraphicsItem, созданный в вашем QGraphicsScene (QDeclarativeView, ..).

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...