Russian Qt Forum
Ноябрь 26, 2024, 14:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QString to enum  (Прочитано 4857 раз)
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 я не знаю.
Записан
NortT
Гость
« Ответ #1 : Июль 01, 2011, 17:36 »

Вот так вроде заработало:
Код
C++ (Qt)
static_cast<CPrintSettings::Location>(QVariant(element.text()).toInt())
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Июль 01, 2011, 18:17 »

Код
C++ (Qt)
static_cast<CPrintSettings::Location>(element.text().toInt())
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
NortT
Гость
« Ответ #3 : Июль 01, 2011, 19:44 »

А точно, ага.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.189 секунд. Запросов: 23.