Qt: Mit QPainter auf die Kind-widgets

Bin ich ein Qt/C++ - problem mit einem einfachen QWidget Programm zeichnet eine ellipse im inneren ein Kind QWidget.

Das Programm besteht aus:

(1) Ein Elternteil QWidget

(2) Ein Kind QWidget (als Zeichnung Oberfläche für eine ellipse)

(3) Ein Remis QPushButton

Hier ist ein Teil des Codes (QPushButton-Slot und Signal-code weggelassen, der Einfachheit halber)

void Draw::paintEvent(QPaintEvent *event) {
    QPainter painter;
    painter.begin(child_Widget);    //The line with the problem
    painter.setRenderHint(QPainter::Antialiasing, true);
    painter.setPen(QPen(Qt::black, 12, Qt::DashDotLine, Qt::RoundCap));
    painter.setBrush(QBrush(Qt::green, Qt::SolidPattern));
    painter.drawEllipse(50, 50, 100, 100);
    painter.end();}

Linie 2 painter.begin(child_Widget); nicht tun. Das Programm zeichnet die ellipse nur, wenn ich ersetzen Sie die Zeile 2 mit painter.begin(this); sondern bezieht sich auf die übergeordneten QWidget und nicht auf das Kind QWidget wie gewünscht.

P. S. ich habe die child_Widget befindet sich in einem GroupBox, welche wiederum befindet sich in einem QVBoxLayout.

Jede Anregung?

Dank.

InformationsquelleAutor Ben E | 2009-10-30
Schreibe einen Kommentar