0

我有一个不会用负数更新屏幕的 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

可能是什么原因?

4

1 回答 1

0

如果我正确解释了您的屏幕截图及其下方的文本,则您使用的是负数作为高度。但是,这会创建一个无效的QRectF. 引用 Qt 文档:

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

在您的代码中,您应该确保大小和宽度为正数。否则,您必须交换角点的 x 和/或 y 坐标。

希望有帮助!

于 2012-09-07T21:13:56.800 回答