QGraphicscene странное поведение (не обновлять экран с отрицательными числами)

У меня есть 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

Что может быть причиной?

0

Решение

Если я правильно интерпретирую ваш скриншот и текст под ним, вы используете отрицательное число для высоты. Тем не менее, это создает недопустимый QRectF, Ссылаясь на документацию Qt:

bool QRectF::isValid() const
[...]
A valid rectangle has a width() > 0 and height() > 0.

В вашем коде вы должны убедиться, что размер и ширина положительны. В противном случае вам нужно поменять координаты x и / или y угловых точек.

Надеюсь, это поможет!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]