使枚举值支持|(与)运算符
记录一下,以备以后查阅
enum TestEnum{
aa,
bb,
cc
};
Q_DECLARE_FLAGS(TestEnums, TestEnum);
Q_DECLARE_OPERATORS_FOR_FLAGS(TestEnums);
①Q_DECLARE_FLAGS将自动创建一个QFlags类的实例,将支持QFlags的函数如setFlag。
②Q_DECLARE_OPERATORS_FOR_FLAGS里面对'|'符号进行了重载,使枚举支持'|'符号。
outputTestEnum(TestEnum::bb | TestEnum::aa | TestEnum::cc);
void MainWindow::outputTestEnum(TestEnums flag)
{
if(flag.testFlag(aa)){
qDebug() << "aa";
}
if(flag.testFlag(bb)){
qDebug() << "bb";
}
if(flag.testFlag(cc)){
qDebug() << "cc";
}
}
原文地址:https://blog.csdn.net/edge0/article/details/136561850
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!