Тайлинг с QGraphicsScene и QGraphicsView

I'm creating a image visualizer that open large images(2gb+) in Qt. Я делаю это, разбивая большое изображение на несколько плиток размером 512X512. Затем я загружаю QGraphicsScene с исходным размером изображения и использую addPixmap для добавления каждой плитки в QGraphic Scene. В конечном итоге для конечного пользователя это выглядит как огромное изображение, хотя на самом деле это непрерывный массив меньших изображений, склеенных вместе на сцене. Прежде всего, это хороший подход?

Попытка загрузить все плитки в сцену требует много памяти. Поэтому я думаю о загрузке только тех плиток, которые видны в представлении. Мне уже удалось создать подкласс QGraphicsScene и переопределить его событие перетаскивания, что позволило мне узнать, какие плитки необходимо загрузить следующими в зависимости от движения. Моя проблема - отслеживать движение на полосах прокрутки. Есть ли способ создать событие, которое будет вызываться каждый раз, когда полоса прокрутки перемещается. Создание подкласса QGraphicsView не вариант.

8
задан sleeping.ninja 8 May 2011 в 13:18
поделиться