如何正确设置QPixmap作为矩形画笔?

时间:2014-07-05 16:33:55

标签: qt paint qpixmap

我想在QPixmap方法中为一个矩形设置一个paint。我这样做但是没有准确设置。我测试了宽度和高度的很多值,但它不是不错。总的来说,我应该为照片中的矩形设置适当的尺寸吗?

void set_coin::paint(QPainter *painter, const QStyleOptionGraphicsItem  *option,)
{
QRectF rec(x_size,y_size,10,30);
QPixmap coin(":pictures/image/coin.jpg");
coin=coin.scaled(10,30);
painter->setBrush(QBrush(coin));
painter->setPen(Qt::NoPen);
//painter->drawRect(rec);
painter->drawRoundedRect(rec,10,10);
}
QRectF set_coin::boundingRect() const
{
  return QRectF(x_size-10,y_size-10,20,40);
}

i want it What is shown in program(i put 4 coin in my scene)

1 个答案:

答案 0 :(得分:2)

问题在于:

QRectF rec(x_size,y_size,10,30);

医生说:

QRectF::QRectF ( qreal x, qreal y, qreal width, qreal height )

最后两个参数是x_size和y_size,而不是前两个参数;)

编辑:(因为我之前并没有真正理解这个问题)

我尝试了你的代码,事实上,你的形象不是"准确性"因为你在10到30个小区域看到了4个法师。

解决方法是将x_size(分别为y_size)设置为10的倍数(分别为30)。

如果您尝试x_size = 100和y_size = 300,它将起作用;)