Чтобы не плодить неинтересные темы напишу в этой.
Как преобразовать перечисляемый тип
typedef enum ..... {
......,
......,
......,
} .......;
в QString ???
#include <QtCore/QtGlobal>
#include <QtCore/QtDebug>
#include <QtCore/QMetaObject>
#include <QtCore/QMetaEnum>
class Programmer : public QObject
{
Q_OBJECT
public:
enum Language {ASM, C, CPP, PASCAL, FORTRAN, BASIC, JAVA};
Q_ENUMS(Language)
};
int main(int argc, char *argv[])
{
const QMetaObject &mo = Programmer::staticMetaObject;
int index = mo.indexOfEnumerator("Language");
QMetaEnum me = mo.enumerator(index);
Programmer::Language p = Programmer::CPP;
Programmer::Language l= static_cast<Programmer::Language>(me.keyToValue("CPP"));
qDebug() << me.valueToKey(p) << ":" << l;
return 0;
}
#include "main.moc"
CPP : 2
enum states {state1, state2};
const char *astates[] = {"state1", "state2"};
printf(astates[state1]);