Конструктор формы:
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, что в коде как бы и не указывается. Зато когда фигура вылазит за поле, уже изменений подобного рода нет, всё корректно работает.