QGraphicsScene странно масштабируется в QGraphicsView

Я возиться сQGraphicsView а такжеQGraphicsScene создать клон Tic Tac Toe. Я добавляю некоторыеQGraphicsLineItemс моей сцены и переопределитьresizeEvent метод виджета, который содержит представление, так что при изменении размера окна представление и его содержимое масштабируются соответствующим образом. Это работает нормально, за исключением первого запуска программы:

Как только я изменю размер окна на любую величину, сцена масштабируется правильно:

Вот код:

main.cpp:

#include <QtGui>

#include "TestApp.h"

int main(int argv, char **args)
{
    QApplication app(argv, args);

    TestApp window;
    window.show();

    return app.exec();
}

TestApp.h:

#ifndef TEST_APP_H
#define TEST_APP_H

#include <QtGui>

class TestApp : public QMainWindow
{
    Q_OBJECT
public:
    TestApp();
protected:
    void resizeEvent(QResizeEvent* event);

    QGraphicsView* view;
    QGraphicsScene* scene;
};

#endif

TestApp.cpp:

#include "TestApp.h"

TestApp::TestApp()
: view(new QGraphicsView(this))
, scene(new QGraphicsScene(this))
{
    resize(220, 220);
    scene->setSceneRect(0, 0, 200, 200);

    const int BOARD_WIDTH = 3;
    const int BOARD_HEIGHT = 3;
    const QPoint SQUARE_SIZE = QPoint(66, 66);

    const int LINE_WIDTH = 10;
    const int HALF_LINE_WIDTH = LINE_WIDTH / 2;
    QBrush lineBrush = QBrush(Qt::black);
    QPen linePen = QPen(lineBrush, LINE_WIDTH);

    for(int x = 1; x < BOARD_WIDTH; ++x)
    {
        int x1 = x * SQUARE_SIZE.x();
        scene->addLine(x1, HALF_LINE_WIDTH, x1, scene->height() - HALF_LINE_WIDTH, linePen);
    }
    for(int y = 1; y < BOARD_HEIGHT; ++y)
    {
        int y1 = y * SQUARE_SIZE.y();
        scene->addLine(HALF_LINE_WIDTH, y1, scene->width() - HALF_LINE_WIDTH, y1, linePen);
    }

    view->setScene(scene);
    view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    view->show();
    view->installEventFilter(this);

    setCentralWidget(view);
}

void TestApp::resizeEvent(QResizeEvent* event)
{
    view->fitInView(0, 0, scene->width(), scene->height());
    QWidget::resizeEvent(event);
}

Я пытался добавить вызовfitInView в концеTestAppконструктор, но он ничего не делает -resizeEvent в любом случае кажется, что он вызывается один раз в начале выполнения программы.

Приветствия.

Ответы на вопрос(1)

Ваш ответ на вопрос