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]