change qml component to quick item

This commit is contained in:
王劲鹏
2021-02-19 10:04:54 +08:00
committed by osborn
parent 3eeb062d2e
commit 36427898cb
9 changed files with 29 additions and 24 deletions

View File

@@ -1,3 +1,5 @@
#include "DoricRootNode.h"
void DoricRootNode::setRootView() {}
void DoricRootNode::setRootView(QQuickItem *rootView) {
this->mView = rootView;
}

View File

@@ -1,13 +1,15 @@
#ifndef ROOTNODE_H
#define ROOTNODE_H
#include <QQuickItem>
#include "DoricStackNode.h"
class DoricRootNode : public DoricStackNode {
public:
using DoricStackNode::DoricStackNode;
void setRootView();
void setRootView(QQuickItem *rootView);
};
#endif // ROOTNODE_H

View File

@@ -1,14 +1,13 @@
#include "DoricStackNode.h"
QQmlComponent *DoricStackNode::build() {
QQmlComponent *component = new QQmlComponent();
QQuickItem *DoricStackNode::build() {
QQmlComponent component;
const QUrl url(QStringLiteral("qrc:/stack.qml"));
component->loadUrl(url);
component.loadUrl(url);
return component;
QQuickItem *item = qobject_cast<QQuickItem *>(component.create());
return item;
}
void DoricStackNode::blendLayoutConfig() {
DoricViewNode::blendLayoutConfig();
}
void DoricStackNode::blendLayoutConfig() { DoricViewNode::blendLayoutConfig(); }

View File

@@ -8,7 +8,7 @@ class DoricStackNode : public DoricGroupNode
public:
using DoricGroupNode::DoricGroupNode;
QQmlComponent *build() override;
QQuickItem *build() override;
void blendLayoutConfig() override;
};

View File

@@ -1,16 +1,16 @@
#ifndef DORICVIEWNODE_H
#define DORICVIEWNODE_H
#include <QQmlComponent>
#include <QQuickItem>
#include "../utils/DoricContextHolder.h"
class DoricViewNode : public DoricContextHolder {
protected:
QQmlComponent mView;
QQuickItem *mView;
virtual QQmlComponent *build() = 0;
virtual QQuickItem *build() = 0;
virtual void blendLayoutConfig();