c++ - Calling Qpainter's method paint to refresh image and change color -


i have created object call player inherits qgraphicsobject.

what trying change image of player , colour of bounding shape when click on mouse. thing don't know values send player->paint() update image.

i override 2 pure virtual functions follows

in player.h :

class player : public qgraphicsobject { public:     player();     qrectf boundingrect() const;     qpainterpath shape() const;     void paint(qpainter *painter, const qstyleoptiongraphicsitem *option,qwidget *widget);      void mousepressevent(qgraphicsscenemouseevent *event); } 

in player.cpp

player::player() {     qpixmap m_playerpixmap(":/images/images/chevalier/test1.png"); }  qrectf player::boundingrect() const {     return qrectf(-15, 0, 128, 130); }  qpainterpath player::shape() const {     qpainterpath path;     path.addellipse(-15, 70, 100, 60);     return path; }  void player::paint(qpainter *painter, const qstyleoptiongraphicsitem *option,qwidget *widget) {      qpen linepen;      linepen.setwidth(5);     linepen.setcolor(qt::red);      painter->setpen(linepen);      painter->drawpath(shape());      painter->drawpixmap(0, 0, m_playerpixmap); }  void player::mousepressevent(qgraphicsscenemouseevent *event) {     this->paint(); } 

thanks lot help.

you have call update().

this mark item updated, , issue paint event, call paint correct parameters


Comments

Popular posts from this blog

javascript - AngularJS custom datepicker directive -

javascript - jQuery date picker - Disable dates after the selection from the first date picker -