LibQQt系列之五《QQtObjectFactory》

  • 简介
  • 使用

简介

这里讲讲QQt对象工厂,扩大它的使用量。

QQt的对象工厂,现在我主要用于支援动画系统。我通过在每个类当中调用对象工厂的注册函数,来实现在动画模块,可以对类进行方便的查找。
QQt对象工厂提供三个类:

  • QQtObjectFactory
  • QQtWidgetFactory
  • QQtObjectParcel

分别对应QObject子类的生成、QWidget子类的生成,所有QObject子类的集合(Parcel:包)。

前两个是个反射类,通过类名称生成类对象。
后一个是个包裹函数,里面可以保存非常多的QObject类对象指针。这个函数不管理类对象的释放,仅仅注册(保存)、查找、删除(不保存)。

包裹函数包括 registerObject、unregisterObject和registeredObject三个函数。

我把动画模块做到一个独立的位置,每个类根据对象名注册完自己以后,我在动画模块中取出来,进行动画和启停的设置。

当然它的用处很大,可以在任何一个需要独立发展的模块当中使用。

使用

类对象的注册

QQtObjectParcel::registerObject(xxx)

类对象的使用
xxx * x = QQtObjectParcel::registeredObject("obj-name");

你可能感兴趣的:(Qt,基础类库,QQt)