Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение размеров сцены 
V
    Опции темы
Brodyaga
Дата 26.3.2010, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Всем доброо времени суток!

Такой вопрос. Создал объект GraphicsView, для него создал сцену. В классе сцены создал около 50 строк. Все строки в окно вью не помещаются, но и полоса прокрутки почему то не появляется. вопрос ПОЧЕМУ?

Если у вью переопределить метод resizeEvent(QResizeEvent *event), а в нём вызывать метод сцены в котором вручную увеличивать размер сцены:
Код

void MyScene::ResizeItems()
{
QRectF rect=sceneRect();
rect.setHeight(HEIGTH_ELEM * 50 );
setSceneRect(rect);


то всё ок! полоса прокрутки, чтобы просмотреть всю сцену, у вью появляется. Получается что вью сам изменяет размер сцены до своего размера чтоли...

В чём прикол? может ктонить мне пояснить?



Это сообщение отредактировал(а) Brodyaga - 26.3.2010, 11:23
PM MAIL   Вверх
SABROG
Дата 26.3.2010, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(Brodyaga @  26.3.2010,  11:10 Найти цитируемый пост)
Получается что вью сам изменяет размер сцены до своего размера чтоли

Если элементы не умещаются на сцене, то она автоматически расширяется, но никогда не уменьшается, даже если элементов на ней нет. Viewport должен сам делать видимыми ползунки, если сцена больше его размеров. Об этом всем написано в документации.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Brodyaga
Дата 27.3.2010, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Да. Я читал документацию прежде чем написать здесь. Дело оказалось просто в невнимательности, я сам при ресайзе меня размер сцены на размер вью. Тема закрыта.
PM MAIL   Вверх
Brodyaga
Дата 3.4.2010, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Цитата

Если элементы не умещаются на сцене, то она автоматически расширяется, но никогда не уменьшается, даже если элементов на ней нет.

Тоесть если я удалил некоторые элементы, то сцену никак не уменьшить чтоли? а то у меня количество элементов уменьшилось, и на представлении в самом низу, где были удалённые элементы, просто белая область.. как быть?
PM MAIL   Вверх
SABROG
Дата 3.4.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



QRectF QGraphicsScene::itemsBoundingRect () const
потом 
void    setSceneRect ( const QRectF & rect )

itemsBoundingRect() медленная функция, надеюсь не требуется её вызывать каждую секунду.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Brodyaga
Дата 13.4.2010, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Ок. Подошло, спасибо! правда я стал высчитывать и задавать размер в ручную
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.