QT枚举类型的使用

测试将这个枚举放在头文件外面,Q_ENUM也不可以引用,这个限制有点奇葩,引用另一个头文件定义的枚举类型也不行

.h头文件

enum TetrixShape { NoShape, ZShape, SShape, LineShape, TShape, SquareShape,

                       LShape, MirroredLShape };

    Q_ENUM(TetrixShape);

cpp源代码文件

需要引用QtWidgets

#include <QtWidgets>

QMetaEnum metaEnum=QMetaEnum::fromType<TetrixShape>();
       for (int i = 0; i < metaEnum.keyCount(); ++i)
        {
           qDebug()<<metaEnum.key(i)<<metaEnum.value(i);
      }

测试效果

QT枚举类型的使用_QT