QPainter
Verfasst: 30. Oktober 2010 13:37
Hallo,
ich habe ein Widget, auf welchem ich zeichne:
Das Problem an der Sache ist, dass bei jedem paintEvent, dass, was ich zuvor gezeichnet habe, immer wieder gelöscht wird...
Kann ich irgendwie verhindern, dass das, was ich zuvor gezeichet habe, gelöscht wird, sondern erhalten bleibt?
Bzw. wie gehe ich da am besten vor?
Danke!
ich habe ein Widget, auf welchem ich zeichne:
Code: Alles auswählen
void DrawArea::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.setBackgroundMode(Qt::OpaqueMode);
painter.setBackground(QBrush( Qt::black ));
painter.setPen(QPen(Qt::white));
painter.setFont(QFont("Arial", 16, QFont::Bold));
painter.drawText(10, 20, tr("Hello world!"));
// Zeichenfläche schwarz umkasteln:
painter.setPen(QPen(Qt::black));
painter.drawRect(0, 0, this->size().rwidth() - 1, this->size().rheight() - 1);
/**
* Wenn das Zeichnen des Users aktiv ist, so auf den jeweiligen Mausposition einen
* Punkt setzen:
*/
if (_userBeginPainting) {
// Welches Zeichengerät wird verwendet?
switch (_paintDevice) {
case pencel:
/**
* Es wird mit dem Bleistift gezeichnet:
*/
painter.setPen(QPen(Qt::black));
painter.drawPoint(_mousePosX, _mousePosY);
painter.drawRect(0, 0, _mousePosX, _mousePosY);
qDebug() << "Paint";
break;
}
}
painter.end();
Q_UNUSED(event);
}Kann ich irgendwie verhindern, dass das, was ich zuvor gezeichet habe, gelöscht wird, sondern erhalten bleibt?
Bzw. wie gehe ich da am besten vor?
Danke!