if (!rubberband)
startPoint = event->pos();
rubberband
->setGeometry
(QRect(startPoint,
QSize()));
rubberband->show();
rubberBandActive = true;
}
if(rubberBandActive){
rubberband
->setGeometry
(QRect(startPoint,event
->pos
()).
normalized());
}
}
if(rubberBandActive){
endPoint = event->pos();
rubberBandActive = false;
rubberband->hide();
}
}
void theGui::mousePressEvent(QMouseEvent* event) {
if (!rubberband)
rubberband = new QRubberBand(QRubberBand::Rectangle, this);
startPoint = event->pos();
rubberband->setGeometry(QRect(startPoint,QSize()));
rubberband->show();
rubberBandActive = true;
}
void theGui::mouseMoveEvent(QMouseEvent* event) {
if(rubberBandActive){
rubberband->setGeometry(QRect(startPoint,event->pos()).normalized());
}
}
void theGui::mouseReleaseEvent(QMouseEvent* event) {
if(rubberBandActive){
endPoint = event->pos();
rubberBandActive = false;
rubberband->hide();
}
}
To copy to clipboard, switch view to plain text mode
Thanks Guys... I tried the QRubberBand and it worked very well and on first try.. there is also an example in qt doc. I didnt even know there was a class like QRubberBand, so I have posted the code here just in case some one needs it.....
Bookmarks