Название: Не перерисовывается пиксмап на сцене Отправлено: OldWiseCat от Ноябрь 28, 2012, 15:07 Изучаю кьют, модифицирую пример AnimatedTiles под слайдшоу. Картинки бегают, аимируются, но не работает динамическое обовление содержимого пиксмапа. Я создал вектор пиксмапов и засунул его в сцену
Код: QGraphicsScene scene(0, 0, 1280, 768); Код: Pixmap *photo_thumbnail = new Pixmap(kineticPix); Название: Re: Не перерисовывается пиксмап на сцене Отправлено: _OLEGator_ от Ноябрь 28, 2012, 15:26 Ты создаешь новый пиксмап и меняешь указатель в массиве на новый, что ты ожидаешь от таких действий?
Посоветовал бы сначала учить плюсы. Название: Re: Не перерисовывается пиксмап на сцене Отправлено: OldWiseCat от Ноябрь 28, 2012, 16:31 Да, действительно, надо было воспользоваться методом void setPixmap ( const QPixmap & pixmap ); Осталось разобраться что при этом происходит с памятью
Название: Re: Не перерисовывается пиксмап на сцене Отправлено: Igors от Ноябрь 28, 2012, 16:39 Я ожидаю изменения указателя, чтобы во время перерисовки пиксмапа было обращение к новой области памяти. Я не прав, признаю, и надо менять саму область памяти, но как тогда заменить то, что находится по адресу указателя? обычное присвоение *photos_thumbnails[0]= kineticPix; ругается на /usr/include/qt4/QtCore/qobject.h:333: ошибка: 'QObject& QObject::operator=(const QObject&)' is private Вам надо вызвать QGraphicsPixmapItem::setPixmap, а от того что Вы поменяли что-то в контейнере указателей - толку никакого. Из кода что Вы привели неясно зачем вообще тот контейнер.Код: QGraphicsScene scene(0, 0, 1280, 768); |