Qt的很多属性参数都是可以通过或运算进行多属性设置,
最典型的是左上,左|上
如果是我们自己实现相应功能需要处理的
enum Test{
a=0x01,
b=0x02,
c=0x04,
d=0x08,
e=0x10,
f=0x20
}
Q_DECLARE_FLAGS(Tests,Test)
Q_DECLARE_OPERATORS_FOR_FLAGS(Tests)
使用的时候
void test(Tests test)
{
if(test & a)
qDebug()<<"aa";
if(test & b)
qDebug()<<"bb";
if(test & c)
qDebug()<<"cc";
if(test & d)
qDebug()<<"dd";
if(test & e)
qDebug()<<"ee";
}
【Qt|QFlags实现枚举并列】上述方法即可实现相应的功能
推荐阅读
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- C语言学习(bit)|16.C语言进阶——深度剖析数据在内存中的存储
- 数据结构和算法|LeetCode 的正确使用方式
- 先序遍历 中序遍历 后序遍历 层序遍历
- 数据结构|C++技巧(用class类实现链表)
- 数据结构|贪吃蛇代码--c语言版 visual c++6.0打开
- 算法|算法-二分查找
- 数据结构学习指导|数据结构初阶(线性表)
- leetcode题解|leetcode#106. 从中序与后序遍历序列构造二叉树
- java|ObjectOrientedProgramming - 面向对象的编程(多态、抽象类、接口)- Java - 细节狂魔