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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: как загрузить в QGraphicsView несколько картинок из базы  (Прочитано 3967 раз)
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;
Подскажите, что делаю неправильно?
Записан
mutineer
Гость
« Ответ #1 : Апрель 04, 2012, 15:08 »

Цитировать
Подскажите, что делаю неправильно?
обращаешься к методу по указателю на объект, но через точку
Записан
Magnolia
Гость
« Ответ #2 : Апрель 04, 2012, 15:28 »

и как я это не заметила) спасибо!
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Апрель 04, 2012, 15:57 »

Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных.
Судя по коду из БД ты получаешь только имя файла картинки, а никак не её содержимое.
Записан

Qt 5.11/4.8.7 (X11/Win)
mutineer
Гость
« Ответ #4 : Апрель 04, 2012, 16:28 »

Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных.
Судя по коду из БД ты получаешь только имя файла картинки, а никак не её содержимое.

pixmap.load(row);
загружает же картинку по имени файла
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Апрель 04, 2012, 16:56 »

Мне нужно добавить в виджет QGraphicsView несколько картинок из базы данных.
Судя по коду из БД ты получаешь только имя файла картинки, а никак не её содержимое.

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

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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