QPainter Rechteck aufziehen
Verfasst: 17. Februar 2018 17:09
Ich erstelle auf einem angezeigten Image (das auf einem Label liegt), ein Rechteck, das mit der Maus vergrößert und verkleinert werden kann.
Das vergrößern funktioniert einwandfrei, wenn ich das Rechteck aber kleiner mache, bleibt der Rand des größeren, vorherigen Rechteckes stehen, so dass der untere und rechte Rand verbreitert wird.
Leider finde ich keine Möglichkeit das alte Rechteck fliessend zu löschen und das kleinere neu zu erstellen.
Vielleicht ist das aber auch zu kompliziert gedacht.
Kann mir jemand weiterhelfen?
Vielen Dank vorab
Das vergrößern funktioniert einwandfrei, wenn ich das Rechteck aber kleiner mache, bleibt der Rand des größeren, vorherigen Rechteckes stehen, so dass der untere und rechte Rand verbreitert wird.
Leider finde ich keine Möglichkeit das alte Rechteck fliessend zu löschen und das kleinere neu zu erstellen.
Vielleicht ist das aber auch zu kompliziert gedacht.
Kann mir jemand weiterhelfen?
Code: Alles auswählen
void Label::mousePressEvent(QMouseEvent *event)
{
if((event->button() == Qt::LeftButton))
{
point_start = event->pos();
}
}
void Label::mouseMoveEvent(QMouseEvent *event)
{
if(event->MouseMove & Qt::LeftButton)
{
point_ende = event->pos();
rahmen = QRect(point_start,point_ende);
update(rahmen);
}
void Label::paintEvent(QPaintEvent *event)
{
QLabel::paintEvent(event);
if ( event->MouseMove )
{
QPainter *p = new QPainter(this);
QPen pen(Qt::blue,3);
p->setPen(pen);
p->drawRect(rahmen);
}
}