#pragma once #include "Common/objectmap.h" #include "TaoObject.h" #include class QQmlContext; class QQuickView; class TaoFramework { public: static TaoFramework* instance(); ~TaoFramework(); public: //初始化 void init(); //反初始化 void uninit(); //ui加载之前,做的处理 void beforeUiReady(QQmlContext* ctx); //ui加载完成时,做的处理 void afterUiReady(); public: //创建TaoObject template void createObject(QObject *parent = nullptr) { m_objMap.createObject(parent); } //销毁TaoObject template bool destoryObject() { return m_objMap.destroyObject(); } //获取TaoObject template TaoObjectType *getObject() const { return m_objMap.getObject(); } QQuickView *getMainView() const { return m_mainView; } void setMainView(QQuickView *mainView) { m_mainView = mainView; } private: TaoFramework() {} private: TaoCommon::CObjectMap m_objMap; QQuickView *m_mainView = nullptr; };