我写了一个示例代码:
class Element : public QQuickPaintedItem
{
void paint(QPainter *painter)
{
painter->setBrush(Qt::blue);
painter->drawRect(contentsBoundingRect());
}
}
和qml:
Element {
x : 19
y : 37
width : 371
height : 201
}
左边缘和上边缘都很好,但右边缘和下边缘消失了!
我犯了一些错误吗?
ps:我在WIN XP中使用QT5.3
答案 0 :(得分:3)
The bottom and right edge are drawn outside of the bounding rect
在这里,您可以看到使用以下代码时如何绘制矩形:
QPainter painter(this);
painter.setPen(Qt::darkGreen);
painter.drawRect(1, 2, 6, 4);
您可以尝试绘制antialiased rectangle,虽然它可能看起来很奇怪并且在右下边缘处切断,或者您可以从底部和右边缘中减去1。