1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
AlsPrototype::AlsPrototype()
{
mpPolygon = new QPolygon();
mpPolygon->setPoints(4,0,0,100,0,100,100,0,100);
}
QRectF AlsPrototype::boundingRect() const
{
return QRectF(0,0,100,100);
}
void AlsPrototype::paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
{
QColor vColor(0,0,255);
painter->setRenderHint(QPainter::Antialiasing);
QPen vPen(vColor,Qt::SolidLine);
painter->setPen(vPen);
QBrush vBrush(vColor,Qt::SolidPattern);
painter->setBrush(vBrush);
painter->drawPolygon(*mpPolygon);
painter->save();
if(mState==0)
{
vColor.setRgb(255,255,255,255);
vPen.setColor(vColor);
painter->setPen(vPen);
vBrush.setColor(vColor);
painter->setBrush(vBrush);
painter->drawPolygon(*mpPolygon);
painter->save();
}
}
void AlsPrototype::ChangeEvent()
{
if(mState==0)
mState=1;
else
mState=0;
update();
emit sigChanged(mState);
}.
void AlsPrototype::mousePressEvent ( QGraphicsSceneMouseEvent * event )
{
if(event->button() == Qt::LeftButton)
ChangeEvent();
} |
Partager