![]() |
|
![]() ![]() ![]() |
|
Izabela |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 13.2.2007 Где: Lviv Репутация: нет Всего: 3 |
Здравствуйте
Может кто-то сможет сказать относительно какова элемента размещена QGraphicsScene и где ее геометрический центр? ![]()
По документации ясно как работает система координат окна и примитива. Может кто то сможет объяснить как работает сцена. Заранее благодарна. --------------------
|
|||
|
||||
KL7 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: 2 Всего: 2 |
На случай, если не удастся вникнуть в документацию или никто из опытных qt-шников не поделится соображениями...
Сейчас как раз работаю со сценой в одном приложении... Так что вот соображения... Если не задавать sceneRect в самой сцене, то он будет автоматически расширяться (но никак не сужаться), при появлении новых элементов (QGraphicsItem) за пределами текущего sceneRect... В противном случае автоматического обновления не будет и будет предполагаться, что твоя сцена - ето прямоугольник, описываемый полем sceneRect... попытки добавления элементов за пределами этой области не будут вызывать ошибок, но sceneRect обновлен (автоматически) не будет... Если не задавать sceneRect во вьювере, то он будет получать свежее значение от самой сцены... если же указать, то обновления не будет и вьювер будет работать лишь с указанной частью сцены... Он будет усердно пытаться ее отображать и если сцена маленькая, то он будет проводить выравнивание сцены внутри себя по правилам, заданным в alignment, а если в него часть сцены, ограниченная sceneRect-ом не влазит, то будут появляться скролы... Мне лично нужно, чтобы сцена динамически расширялась, но симметрично относительно вертикали, чтобы при центральном выравнивании во вьювере ось Oy моей сцены всегда отображалась по центру... Для етого я пока вручную обновляю размеры сцена по сигналу changed() - ничего лучше не придумал... как-то так... если что-то прояснилось, то пиши, что не понятно (конкретнее), - будем разбираться =) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |