Доброго времени суток вам, лорчане.
Решил тут на выходных потыкать графику в Qt (QT_MAJOR_VERSION, 4), и столкнулся со следующей проблемой.
В общем, есть окно с кнопочками и view-элементом, который унаследован от 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);
}
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);
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);
}
Проблема в том, что размеры сцены не соответствуют размерам виджета: сцена по сути ограничена лишь объектами, как-будто setSceneRect() не выполняется, хотя это не так. Прошу помочь, сам уже не знаю в чем может быть дело... Заранее благодарен:)