Formular Abspeichern und drucken

Verschiedenes zu Qt
Antworten
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Formular Abspeichern und drucken

Beitrag von jd »

Hallo Gemeinde,

Ich will ein Formular in Qt4 einbetten. Ich habe vor die Eingabe-Maske mit dem Designer zusammen zu bauen. Das Formular besteht nur aus Text und ein paar strichen. Die Frage ist jetzt wie ich das am besten drucken und speichern(PDF) kann. Soweit ich das gelesen habe, gibt es 2 Wege.

Man kann das ganze mit QPainter hin malen. oder man kann das mit HTML machen. Kann man auch beides Mixen?

Wie sieht das mit Bildern aus? Kann man Bilder auch in HTML einbetten (<img>) oder ist das nicht zulässig?

Oder wie würdet ihr das realisieren?

so long
jd
close1
Beiträge: 39
Registriert: 9. April 2008 14:28
Kontaktdaten:

Beitrag von close1 »

Hi, du kannst auf ein QPaintDevice genauso zeichnen wie auf den Bildschirm. also auch bilder, texte und auch linien usw. einfach zeichnen und dann das QPaintDevice an den QPrinter weitereiten, bei dem html kann ich dir leider nicht weiterhelfen
MfG

close1
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag von jd »

Ok, dann versuche ich das mit QPainter. Ich weiß jetzt schon das mit dem Abständen wird bestimmt eine elende Fummelei.
dontinelli
Beiträge: 146
Registriert: 22. September 2006 20:53

Beitrag von dontinelli »

Sicher kannst du in HTML auch Bilder einbinden.
Schau dir doch mal das WebKit und das QTextDocument an. Bei letzterem kannst du HTML-Text und Ressourcen setzen und hast eine direkte print(QPrinter)-Funktion.
Hier eine Liste aller unterstützten HTML-Tags: http://doc.trolltech.com/4.4/richtext-html-subset.html
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag von jd »

Super danke, dann werde ich das mit HTML machen, dann kann ich auch Drucken und Speichern, dann brauche ich mich nicht mit QPainter rum ärgern.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Ich will ein Formular in Qt4 einbetten. Ich habe vor die Eingabe-Maske mit dem Designer zusammen zu bauen. Das Formular besteht nur aus Text und ein paar strichen.
Ich gehe davon aus, hier denkst du an eine "normale" Qt-Form (z.B. ein im Designer zusammengestelles QWidget). Wenn dies der Fall ist, dann wird das...
Die Frage ist jetzt wie ich das am besten drucken und speichern(PDF) kann.
... ganz einfach:

Code: Alles auswählen

QWidget *myForm = machFormIrgendwie();
QPixmap myPicture = QPixmap::grabWidget(myForm); // nun haben wir ein Bild der Form..

// jetzt wollen wir noch eine PDF-Version davon haben:
QPrinter printer;
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("/tmp/out.pdf");
printer.newPage();
QPainter p(&printer);
QPixmap  pimage = myPicture.scaledToWidth(printer.pageRect().width());
p.drawPixmap(0,0,pimage);
p.end();
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag von jd »

Das klingt ja super, verstehe ich das richtig das ich einfach einen "screenshot" von meinem Widget machen kann?
close1
Beiträge: 39
Registriert: 9. April 2008 14:28
Kontaktdaten:

Beitrag von close1 »

jd hat geschrieben:Das klingt ja super, verstehe ich das richtig das ich einfach einen "screenshot" von meinem Widget machen kann?
mhh bin mir grad nicht ganz sicher aber du könntest theorethisch alles zeichnen lassen, das ganze natürlich nicht auf den bildschirm sondern auf ein QPaintDevice, bin aber nicht sicher ob das geht, oder ob ich gerade eine andere programmiersprache im sinn hab.
MfG

close1
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

jd hat geschrieben:Das klingt ja super, verstehe ich das richtig das ich einfach einen "screenshot" von meinem Widget machen kann?
ganz genau! Durch das QPixmap kannst du dein gerendertes Widget in den Formaten http://doc.trolltech.com/4.3/qimageread ... ageFormats exportieren, mit dem QPrinter noch in PDF und PostScript: http://doc.trolltech.com/4.3/qprinter.h ... ormat-enum
Antworten