我有一个没有用负数更新屏幕的QGraphicsscene。图片解释了所有。
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 :(得分:0)
如果我正确解释了您的屏幕截图及其下方的文字,则您使用的是负数。但是,这会产生无效的QRectF
。引用Qt文档:
bool QRectF::isValid() const
[...]
A valid rectangle has a width() > 0 and height() > 0.
在您的代码中,您应确保大小和宽度为正。否则,您必须交换角点的x和/或y坐标。
希望有所帮助!