重写paint()
void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget){
//设置笔的颜色,和笔刷颜色
painter.setPen(Qt::darkGreen);
painter.setBrush(QBrush(Qt::White));
//直接根据QGraphicsItem的区域画外框
painter.drawRect(boundingRect());
//在矩形里套一个矩形色块
painter.fillRect(boundingRect().adjusted(3,3,-3,-3),Qt::Green);
painter.darwText(boundingRect(),Qt::AlignCentrl,m_text);
if(isSeleted())
{
//被选中时的绘图....
}
}
这里adjusted()是QRect及QRectF的功能,调整左上角位置和右下角位置以调整Rect,adjusted(3,3,-3,-3)即上下左右往中间靠3缩小了,那么adjusted(-3,-3,3,3)即放大了