Seite 1 von 1

Ein Teil des QImage aktualisieren

Verfasst: 12. Juli 2011 12:36
von Martin_1961
Hallo

ich habe eine QWidget, auf dem ich Daten mit Hilfe einer QImage anzeige, die in einem bestimmten Intervall aktualisiert werden müssen. (ähnlich wie ein Oszilloskop). nun möchte ich nicht jedes mal in Paintevent(...) mit Painter.drawimage(...) den gesamten QImage anzeigen, sondern nur das Teil, das neu ist.

gibt es eine Möglichkeit nur die letzte Änderung anzuzeigen?
ich komme von C-Sharp und dort habe ich die Möglichkeit mit

Code: Alles auswählen

Invalidate(new Rectangle(currentLine,0,1,height);
nur die eine Vertikale Linie darzustellen.
momentan wird in Paintevent folgendes gemacht

Code: Alles auswählen

void MyWidget::paintEvent(QPaintEvent *event)
{
  QRect rect(0,0,this->width(),this->height());
  QRect part(currentLine,0,1,height());
  QPainter p(this);
  p.drawImage(rect,myImag);
//  p.drawimage(rect,myimage,part);//funktioniert nicht
}
ist aber unnötig, weil ich nur eine Linie Updaten brauche.

Danke

Verfasst: 12. Juli 2011 12:44
von franzf
Doku zu QPaintEvent und QWidget::repaint sollten reichen.