The below solution draws only a single line. How to draw two or more lines???
void setRasterOpTest
::mousePressEvent( QMouseEvent *e
){ if (e->button() == Qt::LeftButton) {
m_firstpt = e->pos();
m_lastpt = e->pos();
}
}
void setRasterOpTest
::mouseMoveEvent( QMouseEvent *e
){ if ((e->buttons() & Qt::LeftButton) ){
m_lastpt = e->pos();
update();
}
}
void setRasterOpTest
::mouseReleaseEvent(QMouseEvent *e
){ if (e->button() == Qt::LeftButton ) {
m_lastpt = e->pos();
update();
}
}
painter.setPen( Qt::black );
painter.drawLine(m_firstpt, m_lastpt);
}
void setRasterOpTest::mousePressEvent( QMouseEvent *e ){
if (e->button() == Qt::LeftButton) {
m_firstpt = e->pos();
m_lastpt = e->pos();
}
}
void setRasterOpTest::mouseMoveEvent( QMouseEvent *e ){
if ((e->buttons() & Qt::LeftButton) ){
m_lastpt = e->pos();
update();
}
}
void setRasterOpTest::mouseReleaseEvent(QMouseEvent *e){
if (e->button() == Qt::LeftButton ) {
m_lastpt = e->pos();
update();
}
}
void setRasterOpTest::paintEvent(QPaintEvent *e){
QPainter painter(this);
painter.setPen( Qt::black );
painter.drawLine(m_firstpt, m_lastpt);
}
To copy to clipboard, switch view to plain text mode
Bookmarks