QPainter auf Label oder Layout

Alles rund um die Programmierung mit Qt
Antworten
SaLu
Beiträge: 50
Registriert: 18. August 2008 18:06

QPainter auf Label oder Layout

Beitrag von SaLu »

Hi kann mir jmd sagen wie ich ein Qpainter auf ein QLabel bekomme oder ein QgridLayout. Habe meine GUI mithilfe des Designer gemalt. Dort gab es aber keinen Kreis. Darum habe ich einen Kreis mit QPainter gemalt und will das in meine GUI packen. Sollte normal ein einfaches Problem sein. Aber ich steh momentan auf dem Schlauch.

Wäre für jede Hilfe dankbar.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Darum habe ich einen Kreis mit QPainter gemalt
Wie (Code)?
SaLu
Beiträge: 50
Registriert: 18. August 2008 18:06

Beitrag von SaLu »

so ungefähr.

QRectF pie(10.0,20.0,80.0,60.0);
QPainter painter(ui.label_46);
painter.begin(ui.label_46);
painter.drawEllipse(pie);
painter.setBrush(Qt::red);
painter.end();

nur das mit dem Qlabel funktioniert noch nicht
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Funktioniert nicht ist keine Fehlermeldung.
Warning: When the paintdevice is a widget, QPainter can only be used inside a paintEvent() function or in a function called by paintEvent();
SaLu
Beiträge: 50
Registriert: 18. August 2008 18:06

Beitrag von SaLu »

also diese Warnung kommt bei mir überhaupt nicht. Und warum sollte ich den Kreis mit einem event verknüpfen, dass ist doch schwachsinn!! Ich will einfach nur eine LED die einmal grün und einmal rot ist. Da dies im Designer nicht vorhanden ist will ich es eben zeichnen.

Alternative wäre einfach ein Pixmap auf das Label zumachen aber das fände ich nicht wirklich eine gelungene Alternative
Zuletzt geändert von SaLu am 11. Oktober 2008 13:48, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Und warum sollte ich den Kreis mit einem event verknüpfen, dass ist doch schwachsinn!!
Das ist kein Schwachsinn, sondern nur der Hinweis darauf, das du die Doku nicht gelesen hast.
Ich will einfach nur eine LED die einmal grün und einmal rot ist. Da dies im Designer nicht vorhanden ist will ich es eben zeichnen.
Dann zeichne es halt. Mit Gimp ist sowas schön möglich...
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

SaLu hat geschrieben:also diese Warnung kommt bei mir überhaupt nicht.
doch.. die kommt bei dir totsicher auch unter http://doc.trolltech.com/4.4/qpainter.html#details
SaLu hat geschrieben: Alternative wäre einfach ein Pixmap auf das Label zumachen aber das fände ich nicht wirklich eine gelungene Alternative
Oder du erstellst ein neues Widget "LED" (möglicherweise als Designer-Plugin mit der Farbe als Property), welches (genau wie von Tr...Nokia dokumentiert) im paintEvent den Kreis malt... siehe dazu auch die zahlreichen Beispiele (z.B. "worldtimeclock")
Antworten