Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: slava_d200 от Июль 27, 2012, 12:30



Название: Как правильно обновить отображение картинки в форме
Отправлено: slava_d200 от Июль 27, 2012, 12:30
На форме есть QGraphicsView в котором я отображаю картинку

photo.loadFromData(El->bPicture);

if (!pixmap_item)
{
        pixmap_item = new QGraphicsPixmapItem();
        pixmap_item->setVisible(true);
        pixmap_item->setPixmap(photo);
        scene.addItem(pixmap_item);
}
else
        pixmap_item->setPixmap(photo);

if (El->bPicture.count()==0)
{
       pixmap_item->setVisible(false);
       if (!pixmap_Text)
            pixmap_Text = scene.addText(QObject::tr("НЕТ ИЗОБРАЖЕНИЯ"));
        else
            pixmap_Text->setVisible(true);
}
else
{
        scene.setSceneRect(0, 0, photo.width(), photo.height());

        this->photoGraphicsView->fitInView(pixmap_item, Qt::KeepAspectRatioByExpanding);

        pixmap_item->setVisible(true);
        pixmap_Text->setVisible(false);
}

так вот если картинки при открытии формы небыло (берется из базы данных) - то фраза "нет изображения" красиво встает в середину photoGraphicsViewи все умещается в photoGraphicsView.
так же и с картинкой она умещается photoGraphicsView.

а как правильно заменить картинку???????? или ее стереть.
если я вывожу новую картинку (теже самые размеры что и у предыдущей картинки). она не помещается  photoGraphicsView.
и тоже происходит и с надписью в случае если я стираю картинку.