Seite 1 von 1

Mein eigenes QLabel

Verfasst: 26. Juli 2010 16:07
von QtNewbie
Hallo ihr,

ich habe mir ein eigenes QLabel geschrieben. Das heißt ich habe mir eine C++ Klasse erstellt und diese von QLabel abgeleitet. Ich will das ganze machen um Linien und Kreise mit QPainter in dieses Label und nicht in die Form zu malen. So nun stehe ich hier und male in mein Label schön und gut. Was ich eigentlich jetzt noch haben möchte ist eine Methode die mir den Inhalt des Labels in einem .jpg abspeichert. Also ich starte mein Programm und ich habe ein leeres Label und die Möglichkeit in dieses Label ein Foto zu laden und darin rumzumalen oder ich habe nur das leere Label und kann darin rummalen. Ganz egal wie ich mich entscheide, möchte ich den Inhalt dieses Label nur rumgemalt oder mit bild und auf dem bild rumgemalt als .jpg abspeichern. Hat jemand ideen dazu?

liebe grüße der newbie

Verfasst: 26. Juli 2010 16:13
von padreigh

Verfasst: 27. Juli 2010 10:54
von -=Freaky=-
mit QWidget::render() kannst den gesamten inhalt deines labels bspw. in ein QImage bekommen.
bsp. (innerhalbe deiner klasse):

Code: Alles auswählen

QImage img(size(), QImage::Format_RGB32);
render(&img);
danach sollte dich der link von padreigh ans ziel fuehren.

wenn du deinem QLabel eine fixe groesse gibst, die der user also nicht aendern kann (und die sich waehrend des malens nicht aendert), koenntest du vllt. auch gleich synchron in ein QImage malen (im paintEvent), anstatt spaeter erst alles in ein QImage zu rendern ... muesste man mal ausprobieren.

mfg
julian