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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: (РЕШЕНО) qgraphicsview не сразу отображает содержимое сцены  (Прочитано 4981 раз)
fdfsdfgjfh
Гость
« : Февраль 25, 2015, 21:00 »

Начну по порядку.
Есть виджет туда закидываю graphicsview, который отображает graphicsscene, а в котором рисуются item-ы.

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

Собственно, вопрос: Как сделать так, чтобы при открытии виджета, обновилось все и нарисовалось само?
Скорее туда как-то фокус надо отправить или что-то другое.
« Последнее редактирование: Март 10, 2015, 21:17 от fdfsdfgjfh » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Февраль 25, 2015, 21:32 »

Оно все само при добавлении item'ов на сцену нарисует их
Сделайте метод, который будет на сцену добавлять элементы и вызывайте этот метод в конструкторе того виджета
Записан

fdfsdfgjfh
Гость
« Ответ #2 : Февраль 25, 2015, 21:39 »

так и делаю, к сожалению, код не могу выложить.
в конструкторе виджета создаю view добавляю в лайаут
во view добавляю сцену. и добавляю item.

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

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Февраль 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)
Записан
fdfsdfgjfh
Гость
« Ответ #4 : Февраль 26, 2015, 19:58 »

Спасибо за совет, завтра почитаю и проверю эти методы
Записан
fdfsdfgjfh
Гость
« Ответ #5 : Март 05, 2015, 21:20 »

не помогло Грустный
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #6 : Март 06, 2015, 10:57 »

давайте минимальный код тогда, может вы не все описали...
Записан
fdfsdfgjfh
Гость
« Ответ #7 : Март 10, 2015, 21:17 »

оказывается проблема была в том, что не устанавливал scenerect
так как размеры сцены не задавал, т.к. динамическая сцена.

после setscenerect от точки 0,0 стало нормально.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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