Re: Drucken mit QT3 (Punktgroesse beim Zeichnen)

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

ich kann dir leider bei diesem Thema nicht weiterhelfen, aber vielleicht 
findes du hier was:
	www.qtforum.org
	www.qtforum.de

Gruß aus Bayern
Wede

Am Tuesday, 9. August 2005 12:41 schrieb Juergen Sachs:
> 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

-- 
Thomas Wedehase
Bischofsgruen, Germany
www.thomaswedehase.com

-- 
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.