Russian Qt Forum
Мая 21, 2025, 20:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
QGraphicScene и отображение линий
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QGraphicScene и отображение линий (Прочитано 3972 раз)
Smogg
Гость
QGraphicScene и отображение линий
«
:
Декабря 08, 2013, 19:19 »
У меня есть сцена, в которую добавлено сотня итемов.
(пока разобрался лишь до сюда, как делать дальше - не понимаю)
Теперь мне нужно показывать отдельные итемы, а прочие прятать. Между показанными надо нарисовать линии. Потом перестраивать положение/видимость итемов и снова отрисовывать между ними линии.
Собственно, линии - это тоже итемы сцены и их над добавлять как path'ы? Можно как-нить просто рисовать и стирать линии заданной ширины и положения?
Записан
Fregloin
Супер
Offline
Сообщений: 1025
Re: QGraphicScene и отображение линий
«
Ответ #1 :
Декабря 08, 2013, 20:12 »
QGraphicsLineItem ...
Записан
Smogg
Гость
Re: QGraphicScene и отображение линий
«
Ответ #2 :
Декабря 08, 2013, 20:32 »
Цитата: Fregloin от Декабря 08, 2013, 20:12
QGraphicsLineItem ...
То есть все, что принадлежит сцене - это итемы, без исключений? И рисовать можно либо на итемах, (каковые потом трансформируются в соответствии с состоянием сцены), либо поверх всей сцены на поверхности QGraphicsView xthtp paintEvent (что возможно, но некрасиво)?
Записан
_OLEGator_
Гость
Re: QGraphicScene и отображение линий
«
Ответ #3 :
Декабря 09, 2013, 09:10 »
Можно не добавлять линии отдельно, а рисовать их в своем QGraphicsItem.
Но тогда 2 варианта: либо постоянно менять boundingRect() и позицию левого верхнего угла элемента, либо выставить у сцены полную перерисовку при каждом изменении и забить на boundingRect().
Записан
Fregloin
Супер
Offline
Сообщений: 1025
Re: QGraphicScene и отображение линий
«
Ответ #4 :
Декабря 13, 2013, 09:54 »
можно их еще рисовать в backgroundPaint но насколько это будет эффективно... в каком то примере (кажется тот же Шлее) там как раз ваш случай описывался, итемы котороые соедены линиями да еще и в динамике перемещаются.
Записан
popper
Гость
Re: QGraphicScene и отображение линий
«
Ответ #5 :
Декабря 13, 2013, 13:12 »
Вот еще хороший пример:
http://qt-project.org/doc/qt-4.8/graphicsview-elasticnodes.html
Записан
AlexEx
Чайник
Offline
Сообщений: 76
Re: QGraphicScene и отображение линий
«
Ответ #6 :
Декабря 13, 2013, 13:37 »
Линии можно попробовать рисовать в QGraphicsScene::drawBackground или QGraphicsScene::drawForeground
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...