Q_GADGET代码示例
时间: 2024-04-16 11:22:11 浏览: 80
Q_GADGET是Qt框架中的一个宏,用于声明一个轻量级的类,该类可以在元对象系统中使用。Q_GADGET类似于Q_OBJECT宏,但不支持信号和槽机制。
下面是一个Q_GADGET代码示例:
```cpp
#include <QDebug>
// 声明一个Q_GADGET类
class MyGadget {
Q_GADGET
public:
enum Type {
Type1,
Type2,
Type3
};
Q_ENUM(Type) // 声明一个枚举类型
// 声明一个静态函数
static QString getTypeName(Type type) {
switch (type) {
case Type1:
return "Type1";
case Type2:
return "Type2";
case Type3:
return "Type3";
default:
return "Unknown";
}
}
};
int main() {
MyGadget::Type type = MyGadget::Type2;
QString typeName = MyGadget::getTypeName(type);
qDebug() << "Type name:" << typeName;
return 0;
}
```
在上面的示例中,我们声明了一个名为MyGadget的Q_GADGET类。该类包含一个枚举类型Type和一个静态函数getTypeName,用于获取枚举类型的名称。在main函数中,我们创建了一个Type2类型的对象,并通过getTypeName函数获取其名称并输出。
阅读全文