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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: vector<QMap<QString,QString> > заполнение и доступ к данным  (Прочитано 4123 раз)
shtrix
Гость
« : Январь 20, 2016, 16:13 »


Код:
    vector<QMap<QString,QString> >xxx;
    QMap<QString,QString> temp;
    temp["1"] ="1111111111111";
    temp["2"] ="2222222222222";
    temp["3"] ="3333333333333";
    xxx.push_back(temp);
    temp.clear();

    temp["1"] ="1111111111111";
    temp["2"] ="2222222222222";
    temp["3"] ="3333333333333";
    xxx.push_back(temp);
    //как теперь получить данные
    cout<<xxx[0]["2"]<<endl;
    //так не получается
Подскажите как это делается?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Январь 20, 2016, 16:17 »

Работает

Код
C++ (Qt)
   QList<QMap<QString,QString> >xxx;
//    vector<QMap<QString,QString> >xxx;
   QMap<QString,QString> temp;
   temp["1"] ="1111111111111";
   temp["2"] ="2222222222222";
   temp["3"] ="3333333333333";
   xxx.push_back(temp);
   temp.clear();
 
   temp["1"] ="1111111111111";
   temp["2"] ="2222222222222";
   temp["3"] ="3333333333333";
   xxx.push_back(temp);
   //как теперь получить данные
   qDebug() << xxx[0]["2"];
   //так не получается
Записан

shtrix
Гость
« Ответ #2 : Январь 20, 2016, 16:26 »

Работает

Код
C++ (Qt)
   QList<QMap<QString,QString> >xxx;
//    vector<QMap<QString,QString> >xxx;
   QMap<QString,QString> temp;
   temp["1"] ="1111111111111";
   temp["2"] ="2222222222222";
   temp["3"] ="3333333333333";
   xxx.push_back(temp);
   temp.clear();
 
   temp["1"] ="1111111111111";
   temp["2"] ="2222222222222";
   temp["3"] ="3333333333333";
   xxx.push_back(temp);
   //как теперь получить данные
   qDebug() << xxx[0]["2"];
   //так не получается

Спасибо разобрался))
cout QString не понимает
xxx[0]["2"].toStdString()
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Январь 20, 2016, 16:30 »

Работает

Код
C++ (Qt)
   QList<QMap<QString,QString> >xxx;
//    vector<QMap<QString,QString> >xxx;
   QMap<QString,QString> temp;
   temp["1"] ="1111111111111";
   temp["2"] ="2222222222222";
   temp["3"] ="3333333333333";
   xxx.push_back(temp);
   temp.clear();
 
   temp["1"] ="1111111111111";
   temp["2"] ="2222222222222";
   temp["3"] ="3333333333333";
   xxx.push_back(temp);
   //как теперь получить данные
   qDebug() << xxx[0]["2"];
   //так не получается

Спасибо разобрался))
cout QString не понимает
xxx[0]["2"].toStdString()

Просто, в следущий раз прикладывайте текст ошибки -- а то можно 100500 вариантов возможных ошибок кода придумать Улыбающийся
Записан

deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #4 : Январь 21, 2016, 15:04 »

Спасибо разобрался))
cout QString не понимает
xxx[0]["2"].toStdString()

можно так, только для русских букв позаморачиваться надо будет немного
std::cout << QString("hi").toLatin1().data();
В какой то версии накосячили с qDebug() и он символы "\n" так и выводил, решалось таким способом.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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