У меня есть QGraphicscene, который не обновляет экран отрицательными числами. Изображение объясняет все.
http://s16.postimage.org/4b59m8hx1/problem.jpg
Это простой код.
if (dinA){ //assume its always true
int sx=dinA->getX();
int sy=dinA->getY();
dis->scene.addRect(QRectF(300,100-sy, sx, sy),QPen(), QBrush(Qt::FDiagPattern));
}
//** 300,100-sy ** because of my work-area is 600*300
Что может быть причиной?
Если я правильно интерпретирую ваш скриншот и текст под ним, вы используете отрицательное число для высоты. Тем не менее, это создает недопустимый QRectF
, Ссылаясь на документацию Qt:
bool QRectF::isValid() const
[...]
A valid rectangle has a width() > 0 and height() > 0.
В вашем коде вы должны убедиться, что размер и ширина положительны. В противном случае вам нужно поменять координаты x и / или y угловых точек.
Надеюсь, это поможет!
Других решений пока нет …