Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Неккоретные размеры QGraphicsScene
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
IOException
Добрый день, при изучении графики в Qt, столкнулся с такой проблемой. Есть унаследованный от QGraphicsView виджет, на котором располагается QGraphicsScene с различными элементами. Задача -- при ресайзе виджета, изменять у сцены ограничивающий прямоугольник, по размер виджета. Вот мой код объявления виджета и сцены:
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),  ui(new Ui::MainWindow){
    ui->setupUi(this);
     scene= new QGraphicsScene(ui->area);
     ui->area->scale(1,-1);
     arc *obj1=new arc();
     obj1->setX(200);obj1->setY(200);
     obj1->setSize(11);
     obj1->setSpeed(1);
     obj1->setFlag(QGraphicsItem::ItemIsMovable);
     obj2->setFlag(QGraphicsItem::ItemIsMovable);
     scene->addItem(obj1);
     ui -> area -> setRenderHints ( QPainter :: Antialiasing
             |  QPainter :: SmoothPixmapTransform
             |  QPainter :: TextAntialiasing );
     ui->area->setScene(scene);
     ui->area->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
     ui->area->setCacheMode(QGraphicsView::CacheBackground);
     ui->area->setInteractive(true);
}


Код наследника QGraphicsView:
void DrawArea::resizeEvent(QResizeEvent *evnt)
{
    if(scene()){
        scene()->setSceneRect(QRect(QPoint(-evnt->size().width()/2,-evnt->size().height()/2),evnt->size()));

    }
    fitInView(scene()->sceneRect(),Qt::KeepAspectRatio);
    QGraphicsView::resizeEvent(evnt);
}

Собственно проблема в том, что размеры сцены не соответствуют размерам виджета: сцена по сути ограничена лишь объектами, как-будто setSceneRect() не выполняется, хотя это не так. Прошу помочь, сам уже не знаю в чем может быть дело...
Алексей1153
советую прицепить проект с примером проблемы, чтобы кто-то смог поэкспериментировать :)
IOException
Цитата(Алексей1153 @ 31.5.2014, 17:45) *
советую прицепить проект с примером проблемы, чтобы кто-то смог поэкспериментировать :)

Благодарю за скорый ответ! Исходники выложил, надеюсь на помощь и здравую критику.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.