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]