class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = nullptr);
~Dialog();
enum E_COLOR {
eRed,
eGreen,
eBlack
};
Q_ENUM(E_COLOR)
private:
Ui::Dialog *ui;
};
#include <QMetaEnum>
#include <QDebug>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
QMetaEnum enmState = QMetaEnum::fromType<Dialog::E_COLOR>();
qDebug() << enmState.name();//枚举的类型名称
qDebug() << enmState.keyCount();//键个数
qDebug() << enmState.isValid() << enmState.scope();//是否有效 声明自哪个类
qDebug() << enmState.keyToValue("eBlack"); //字符串转枚举
qDebug() << QString(enmState.valueToKey(eRed)); //枚举转字符串
qDebug() << QString(enmState.valueToKey(eGreen));
for(int i = 0; i < enmState.keyCount(); i++) { //遍历枚举
qDebug() << QString(enmState.key(i)) << enmState.value(i);
}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41673920/article/details/106981742
————————————————
版权声明:本文为CSDN博主「我是唐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41673920/article/details/106981742