Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Magnolia от Апрель 04, 2012, 15:03



Название: как загрузить в QGraphicsView несколько картинок из базы
Отправлено: Magnolia от Апрель 04, 2012, 15:03
Всем привет. Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных. Для этого пытаюсь записать QPixmap'ы  в QList.
Код:
QSqlQuery query;
    QString row;
    QPixmap pixmap;

    query.prepare("SELECT * FROM input WHERE id_hard IN (SELECT id FROM hardware WHERE id_obj= :id)");
    query.bindValue(":id", QVariant(id).toInt());
    if (!query.exec())
        qDebug() << query.lastError();
    query.first();
    for (int i=0; i<query.size(); i++)
    {
        row = query.record().value("pic").toString();
        pixmap.load(row);
        ItemList[i].setPixmap(pixmap);
        query.next();
    }
Ругается на строку 
Код:
ItemList[i].setPixmap(pixmap);
Ошибка: ../GET/mainwindow.cpp:509:21: ошибка: запрос элемента «setPixmap» в «((MainWindow*)this)->MainWindow::ItemList.QList<T>::operator[] [with T = QGraphicsPixmapItem*](i)», имеющего не классовый тип «QGraphicsPixmapItem*»

ItemList объявляю в заголовочном файле как
Код:
QList<QGraphicsPixmapItem*> ItemList;
Подскажите, что делаю неправильно?


Название: Re: как загрузить в QGraphicsView несколько картинок из базы
Отправлено: mutineer от Апрель 04, 2012, 15:08
Цитировать
Подскажите, что делаю неправильно?
обращаешься к методу по указателю на объект, но через точку


Название: Re: как загрузить в QGraphicsView несколько картинок из базы
Отправлено: Magnolia от Апрель 04, 2012, 15:28
и как я это не заметила) спасибо!


Название: Re: как загрузить в QGraphicsView несколько картинок из базы
Отправлено: GreatSnake от Апрель 04, 2012, 15:57
Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных.
Судя по коду из БД ты получаешь только имя файла картинки, а никак не её содержимое.


Название: Re: как загрузить в QGraphicsView несколько картинок из базы
Отправлено: mutineer от Апрель 04, 2012, 16:28
Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных.
Судя по коду из БД ты получаешь только имя файла картинки, а никак не её содержимое.

pixmap.load(row);
загружает же картинку по имени файла


Название: Re: как загрузить в QGraphicsView несколько картинок из базы
Отправлено: GreatSnake от Апрель 04, 2012, 16:56
Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных.
Судя по коду из БД ты получаешь только имя файла картинки, а никак не её содержимое.

pixmap.load(row);
загружает же картинку по имени файла
А я разве не про это говорю?
ТС же судя по названию темы да и по первому сообщению хочет грузить непосредственно картинки из базы.