Enigma25
20-06-2006, 19:42
Wie kann man eine QTable mit Formatierung drucken?
Hat jemand einen Link oder eine Idee?
Dringend!!
Danke schon mal
Thomas
anda_skoa
21-06-2006, 16:38
Du könntest probieren, den Text nicht im TextEdit zusammen zu bauen, sondern in einem Extra QString und den als Input für QSimpleRichText benutzen.
Allerdings ist mir nicht klar, warum du bei e->text() nicht den korrekten Richtext Text bekommst.
Ciao,
_
Enigma25
01-07-2006, 12:13
Mit dem String hat es auch nicht funktioniert!!
ich habe noch eine andere idee
man kann doch gemalte Bilder drucken?
ich male (z.B. mit drawText() usw. ) auf einem Pixmap (nicht auf Widget!!)
leider druckt er hier nicht das gewünschte aus! WARUM?
Quellcode:
void Statistik_Menschen::paintEvent( QPaintEvent * )
{
qWarning("in Paint");
QString monat[12];
monat[0]="Januar";
monat[1]="Februar";
monat[2]="März";
monat[3]="April";
monat[4]="Mai";
monat[5]="Juni";
monat[6]="Juli";
monat[7]="August";
monat[8]="September";
monat[9]="Oktober";
monat[10]="November";
monat[11]="Dezember";
QPainter pMaler;
//puffer.resize(600,600);
pMaler.begin(&puffer);
qWarning("maler beginnt");
pMaler.setFont(this->font());
// einfache Werte zb: Erwachsene : 254562
pMaler.drawText(20,40,"Erwachsene : ");pMaler.drawText(200,40,leErw->text());
pMaler.drawText(20,60,"Behinderte : ");pMaler.drawText(200,60,leErw->text());
pMaler.drawText(20,80,"Kinder : ");pMaler.drawText(200,80,leErw->text());
pMaler.drawText(20,100,"Alle : ");pMaler.drawText(200,100,leErw->text());
pMaler.drawText(20,120,"Durchschnittsalter der Erwachsenen : ");pMaler.drawText(200,120,leErw->text());
// "Tabellen" überschriften
pMaler.drawText(100,140,"Erw");
pMaler.drawText(150,140,"Beh");
pMaler.drawText(200,140,"Kin");
pMaler.drawText(250,140,"Alle");
// "Tabelle" füllen
for (int i=0; i<12;i++){
pMaler.drawText(20,(i*20)+160,monat[i]);
pMaler.drawText(100,(i*20)+160,lineedit[i*4]->text());
pMaler.drawText(150,(i*20)+160,lineedit[(i*4)+1]->text());
pMaler.drawText(200,(i*20)+160,lineedit[(i*4)+2]->text());
pMaler.drawText(250,(i*20)+160,lineedit[(i*4)+3]->text());
}
pMaler.end();
qWarning("Maler ende");
}
void Statistik_Menschen::drucken( )
{
QPrinter* meinDrucker = new QPrinter;
meinDrucker->setOrientation(QPrinter::Landscape);
if (meinDrucker->setup(this)){
QPainter p(meinDrucker);
p.drawPixmap(0,0,puffer);
p.drawRect(puffer.rect());
}
}
// Quellcode ende
Die Infos zieht sich drawText() aus den QLineEdits im Widget
Das geplante Aussehen:
erst ein paar Werte
und dann Werte in Form einer Tabelle ohne Linien!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.