Russian Qt Forum

Qt => Общие вопросы => Тема начата: NortT от Июль 01, 2011, 17:27



Название: QString to enum
Отправлено: NortT от Июль 01, 2011, 17:27
Всем привет. В общем дело такое, есть enum, например, такой:
Код
C++ (Qt)
   enum Location
   {
top = 0,
bottom = 1
   };
При сохранении в xml-файл делаю так:
Код
C++ (Qt)
QDomText text = domDocument.createTextNode(QVariant(this->printSettings.getLocation()).toString());
// и все в таком духе и дальше
Соответственно в файле имею
Код
C++ (Qt)
<location>1</location>
И когда парсится xml-файл, то мой lcation считывается как текст (QString), и вот как теперь этот стринг сконвертить в enum я не знаю.


Название: Re: QString to enum
Отправлено: NortT от Июль 01, 2011, 17:36
Вот так вроде заработало:
Код
C++ (Qt)
static_cast<CPrintSettings::Location>(QVariant(element.text()).toInt())


Название: Re: QString to enum
Отправлено: Пантер от Июль 01, 2011, 18:17
Код
C++ (Qt)
static_cast<CPrintSettings::Location>(element.text().toInt())


Название: Re: QString to enum
Отправлено: NortT от Июль 01, 2011, 19:44
А точно, ага.