Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: fdfsdfgjfh от Февраль 25, 2015, 21:00



Название: (РЕШЕНО) qgraphicsview не сразу отображает содержимое сцены
Отправлено: fdfsdfgjfh от Февраль 25, 2015, 21:00
Начну по порядку.
Есть виджет туда закидываю graphicsview, который отображает graphicsscene, а в котором рисуются item-ы.

Так рисование начинается после того, как мышкой кликну по сцене.

Собственно, вопрос: Как сделать так, чтобы при открытии виджета, обновилось все и нарисовалось само?
Скорее туда как-то фокус надо отправить или что-то другое.


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: gil9red от Февраль 25, 2015, 21:32
Оно все само при добавлении item'ов на сцену нарисует их
Сделайте метод, который будет на сцену добавлять элементы и вызывайте этот метод в конструкторе того виджета


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: fdfsdfgjfh от Февраль 25, 2015, 21:39
так и делаю, к сожалению, код не могу выложить.
в конструкторе виджета создаю view добавляю в лайаут
во view добавляю сцену. и добавляю item.

но после открытия виджета там все пропадает. как кликаю заново, все появляется. и начинает работать без косяков


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: Fregloin от Февраль 26, 2015, 15:27
Посмотрите эти методы
Код:
void	invalidateScene(const QRectF & rect = QRectF(), QGraphicsScene::SceneLayers layers = QGraphicsScene::AllLayers)
void updateScene(const QList<QRectF> & rects)
void updateSceneRect(const QRectF & rect)


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: fdfsdfgjfh от Февраль 26, 2015, 19:58
Спасибо за совет, завтра почитаю и проверю эти методы


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: fdfsdfgjfh от Март 05, 2015, 21:20
не помогло :(


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: Fregloin от Март 06, 2015, 10:57
давайте минимальный код тогда, может вы не все описали...


Название: Re: qgraphicsview не сразу отображает содержимое сцены
Отправлено: fdfsdfgjfh от Март 10, 2015, 21:17
оказывается проблема была в том, что не устанавливал scenerect
так как размеры сцены не задавал, т.к. динамическая сцена.

после setscenerect от точки 0,0 стало нормально.