beautypg.com

Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual

Page 192

background image

KTD-S0057-I

Page 188 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide


QPainterPath shape () const

{

QPainterPath

path;

path.addEllipse (boundingRect ());

return

path;

}

void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *)

{

bool down = option->state & QStyle::State_Sunken;

QRectF r = boundingRect ();

QLinearGradient grad (r.topLeft (), r.bottomRight ());

grad.setColorAt (down ? 1 : 0, option->state & QStyle::State_MouseOver ? Qt::white : Qt::lightGray);

grad.setColorAt (down ? 0 : 1, Qt::darkGray);

painter->setPen

(Qt::darkGray);

painter->setBrush

(grad);

painter->drawEllipse

(r);

QLinearGradient grad2 (r.topLeft (), r.bottomRight ());

grad.setColorAt (down ? 1 : 0, Qt::darkGray);

grad.setColorAt (down ? 0 : 1, Qt::lightGray);

painter->setPen

(Qt::NoPen);

painter->setBrush

(grad);

if

(down)

painter->translate (2, 2);

painter->drawEllipse (r.adjusted (5, 5, -5, -5));

painter->drawPixmap

(-_pix.width

() / 2, -_pix.height () / 2, _pix);

}

signals:

void pressed ();

protected:

void mousePressEvent (QGraphicsSceneMouseEvent *)

{

emit pressed ();

update

();

}

void mouseReleaseEvent (QGraphicsSceneMouseEvent *)

{

update

();

}

private:
QPixmap

_pix;

};

This manual is related to the following products: