Russian Qt Forum

Qt => Вопросы новичков => Тема начата: virtual_root от Июль 10, 2012, 18:17



Название: QMap и Qlist
Отправлено: virtual_root от Июль 10, 2012, 18:17
и снова здравствуйте) Не могу понять почему компилятор ругается на мой код:
Код:
QMap<QString,QVariant> map;
 // получаем список активных окон
    QList<QMap<QString,QVariant> > listwindow = m_windows->GetListActivityWindow(true);
    map["windows"] = listwindow;   // ругается на эту строчку

Вроде у меня QVariant а всё равно ругается.. Почему?


Название: Re: QMap и Qlist
Отправлено: virtual_root от Июль 10, 2012, 18:22
Как бы мне так запихнуть этот список в QMap ?  Может кто подскажет? И чтоб при этом можно было и другие типы напихать)


Название: Re: QMap и Qlist
Отправлено: mutineer от Июль 10, 2012, 18:25
А читать ругательства пробовала?


Название: Re: QMap и Qlist
Отправлено: alexis031182 от Июль 10, 2012, 18:29
Согласен с компилятором, чего бы и как тот не ругал


Название: Re: QMap и Qlist
Отправлено: Igors от Июль 10, 2012, 18:54
и снова здравствуйте) Не могу понять почему компилятор ругается на мой код:
Код:
QMap<QString,QVariant> map;
 // получаем список активных окон
    QList<QMap<QString,QVariant> > listwindow = m_windows->GetListActivityWindow(true);
    map["windows"] = listwindow;   // ругается на эту строчку

Вроде у меня QVariant а всё равно ругается.. Почему?
В правой части "value" для QMap <QString,QVariant>, значит ожидается тип QVariant, а у Вас listwindow имеет тип QList. Нет конструктора QVariant принимающего Ваш QList. Значит ошибка


Название: Re: QMap и Qlist
Отправлено: ecspertiza от Июль 10, 2012, 18:55
компилятор как бы намекает

map["windows"] типа QVariant

listwindow типа QList<QMap<QString,QVariant> >

преобразование само по себе не произойдет  :)

QVariant::fromValue(listwindow)


Название: Re: QMap и Qlist
Отправлено: virtual_root от Июль 11, 2012, 10:27
спасибо ребят, решила свою проблему по-другому:
Код:
 QMap<QString,QVariant> window;
 QList<QVariant> listwindow;
listwindow.append(window);