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);
}
测试效果