Re: Drucken mit QT3 (Punktgroesse beim Zeichnen)

Juergen Sachs <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo,

kann mir keiner Sagen, wie die Punktgröße in QT3 definiert ist, bzw 
wovon die abhängt ?
Entweder hat Sie eine Feste Größe oder Sie ist abhängig von der 
Auflösung meiner "Zeichenfläche".
Leider habe ich keinen Hinweis hierzu gefunden in den Docs.

Danke
Juergen

Juergen Sachs wrote:
> Hallo,
> 
> ich ärgere mich im Moment mit dem "Design" von einem Ausdruck herrum.
> 
> Mein Problem hierbei ist, das die Ergebnisse, je nach Rechner und Drucker 
> Unterschiedlich sind.
> Mein Problem ist, das ich in ein existierendes Formular Drucken muß. Der 
> Ausdruck muß also in vorgefertigte Felder passen.
> 
> Den Ausdruck Initialisiere ich mit:
> -----
> 		if ( printer->setup(0) ) 	// Nur wenn Drucker ausgewählt
> 		{
> 			//printer->setPrintProgram(fsconfig->getProgrammName());
> 			printer->setFullPage(TRUE);
> 			QPainter p;
> 			if( !p.begin( printer ) )               // paint on printer
> 				return FALSE;                // ging wohl schief
> 			QFont font = QApplication::font();
> 			font.setPointSizeFloat(9.35);   //10,00 , 10,20 , 10.25);
> 			p.setFont( font );	//@todo einen festen font zum drucken setzen
> 			QFontMetrics fm = p.fontMetrics();
> 			QPaintDeviceMetrics metrics( printer ); // need width/height
> 			p.drawText( Margin + (td->getX() * fm.width('u')), Margin + 
> (fm.lineSpacing() * td->getY()), metrics.width(), fm.lineSpacing(), 
> Qt::ExpandTabs | Qt::DontClip, getFieldText(td->getType()) );
>         .................... snipp ......................
> -----
> Nun sollte ja der Ausdruck immer gleich groß sein. Er kann sich zwar leicht 
> verschieben durch die Druckränder, was aber keine Rolle spielen würde.
> Auf einem Rechner passt das auch perfekt.
> Das Problem ist, das der Ausdruck an einem zweiten Rechner über 2,5 cm höher 
> war und nicht mehr in die Felder passte.
> 
> So wie ich das gelesen habe, ist doch die Punktgröße, die mit 
> setPointSizeFloat() gesetzt wird konstant groß. Sollte also unabhängig vom 
> Drucker und Rechner sein. Oder muß ich die Größe eines Punktes erst noch 
> ausrechnen ?
> Im Prinzip brauche ich "Schreibmaschienen Schrift" von der größe her.
> 
> Kann mir einer sagen was ich falsch mache ?!
> 
> Beide Rechner haben Suse 9.3.
> 
> Danke Juergen
> 

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.