Почему некорректно работает QGraphicView?

Конструктор формы:
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);


    scene = new QGraphicsScene;
    draw();
}


Функция отрисовки:
void Widget::draw()
{

    ui->graphicsView->setScene(scene);
    scene->clear();
    scene->addRect(startX,carcassStartY,
                       maxX*scale,carcassMaxY*scale,
                       QPen(Qt::red, 0),QBrush(Qt::red));
}


Откуда отрисовка вызывается
void Widget::on_horizontalSlider_sliderMoved(int position)
{
    scale = position;

    draw();
}


Проблема в том, что при перемещении слайдера (т.е. изменения scale) меняется начальная точка x,y, что в коде как бы и не указывается. Зато когда фигура вылазит за поле, уже изменений подобного рода нет, всё корректно работает.
  • Вопрос задан
  • 2480 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы