QTableWidget mit fester Spaltenzahl drucken

Alles rund um die Programmierung mit Qt
Antworten
qmaddin
Beiträge: 31
Registriert: 15. Mai 2007 17:32

QTableWidget mit fester Spaltenzahl drucken

Beitrag von qmaddin »

Hallo!

Ich möchte eine Tablelle drucken lassen, bei der ich eine feste Spaltenzahl habe.

Die Zeilenzahl variiert. Nun soll aber die Tabelle in der Höhe so gestaucht werden, dass sie auf genau eine Seite passt.

Wie stelle ich so etwas an?
Soll ich das als Grafik drucken lassen oder soll ich html nehmen?

Danke,
QMaddin
qmaddin
Beiträge: 31
Registriert: 15. Mai 2007 17:32

Beitrag von qmaddin »

Ich habe bis jetzt schon mal meine Tabelle aufs Papier gebracht.

Mit html: Davon bin ich schnell wieder abgewichen, weil Qt nicht mal billigstes CSS unterstützt. So hätten meine Tabellenränder nicht nur 1px Stärke, sondern wären eben diese häßlichen HTML-Standard-Rahmen.

Mit einer QPixmap und grabWidget(): Das Problem beim Druck ist, dass die Auflösung (vermutlich) bei den 72 dpi des Monitors bleibt und nicht die nötigen 300 dpi des Druckers hat. Um aber auf die richtige Größe zu kommen wird das Bild automatisch vergrößert und interpoliert, wodurch mein alter Laserdrucker ein sehr häßliches Produkt erzeugt.

Code: Alles auswählen

QPixmap pixmap(QPixmap::grabWidget(table,QRect(2,2,totalWidth,totalHeight)));
painter.drawText(marginLeft,marginTop,"Titel");
painter.drawPixmap(tableRect.x(),tableRect.y(),pixmap);
Der mit ausgedruckte Text "Titel" wird aber einwandfrei dargestellt.
Auch wird das gegrabbte Bild von mir zu keiner Zeit vergrößert/verkleinert oder sonst irgendwie verformt.

Weiß jemand Rat? Muss ich wirklich die komplette Tabelle mit drawRect()/drawText() selber zeichnen?

Danke schonmal,
Martin
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Muss ich wirklich die komplette Tabelle mit drawRect()/drawText() selber zeichnen?
Ja, außer du nimmst eine externe Bibliothek dafür.
qmaddin
Beiträge: 31
Registriert: 15. Mai 2007 17:32

Beitrag von qmaddin »

Sollte es eine solche Bibliothek geben, wo/wie finde ich sie?
Sie sollte natürlich für Qt4 sein und optimalerweise OpenSource sein... :-)

Danke,
Martin
Antworten