PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Da QTextEdit nicht so hinhaut.. siehe vorheriger Beitrag



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!