Problem: Drucke in Datei

Alles rund um die Programmierung mit Qt
Antworten
oldmanII
Beiträge: 9
Registriert: 11. Juni 2010 15:57

Problem: Drucke in Datei

Beitrag von oldmanII »

Hallo,
mein Problem ist folgendes:
Über einen QPrintDialog definiere ich, daß ich in eine Datei drucken möchte.
Dies funktioniert auch.
Ich möchte allerdings über einen eigenen QFileDialog die Ausgabedatei bestimmen.
Meine Annahme:
printer->outputFormat() liefert die Info, dass in eine Datei gedruckt werden soll ist leider nicht korrekt. Es kommt immer ein QPrinter::NativeFormat.

Ich habe auch leider nichts gefunden um die Info zu bekommen.


Kann mir irgendjemand auf die Sprünge helfen.

Ich nutze Qt 4.4.3


mfG
oldman
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

mit printer setOutputFileName("myFile.pdf") kannst Du bestimmen, dass in eine Datei gedruckt wird. Gleichzeitig legst Du fest, dass es ein pdf sein soll.

Übrigens:
QPrinter::NativeFormat sagt aus, dass "normal" also auf einen Drucker gedruckt wird.
Linux, das längste Text-Adventure aller Zeiten
oldmanII
Beiträge: 9
Registriert: 11. Juni 2010 15:57

Beitrag von oldmanII »

Hallo,
mit printer setOutputFileName("myFile.pdf") kannst Du bestimmen, dass in eine Datei gedruckt wird. Gleichzeitig legst Du fest, dass es ein pdf sein soll.
ich muß ja erst einmal in Erfahrung bringen, daß in eine Datei gedruckt wird.

Also wie bekomme ich die Info von QPrinter, daß in QPrintDialog >druck in Datei< ausgewählt wurde?
Übrigens:
QPrinter::NativeFormat sagt aus, dass "normal" also auf einen Drucker gedruckt wird.
war schon klar, deswegen wollte ich dies ja auch mit printer->outputFormat() abfragen.

oldman
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

jetzt fängt das stochern im Nebel an.
Ohne Quellcode kann Dir nicht weitergeholfen werden.

Weitere Infos (z.B. Zielsystem) wären auch hilfreich.
Manche Optionen von Qt-Dialogen werden nicht überall unterstützt.
Linux, das längste Text-Adventure aller Zeiten
oldmanII
Beiträge: 9
Registriert: 11. Juni 2010 15:57

Beitrag von oldmanII »

Hallo,
Weitere Infos (z.B. Zielsystem) wären auch hilfreich.
Windows. Qt4.4.3
Ohne Quellcode kann Dir nicht weitergeholfen werden.
Ich glaube zwar nicht, daß der Fehlende Quellcode weiterhilft aber bitteschön.

Code: Alles auswählen

    // So jetzt Auswahl des Druckers
    //
    QPrinter* printer = new QPrinter();
    QPrintDialog printDialog(printer, this);
    if(printDialog.exec() != QDialog::Accepted)
        return;

    QTextDocument *t_calibrationText;
    QString *s_htmlText = new QString();
    QTextStream t_calibrationStream;
    
    //
    // Hier wird jetzt der Text zum Drucken zusammengestellt
    //

    t_calibrationText = new QTextDocument();
    t_calibrationText->setHtml(*s_htmlText);
    t_calibrationText->print(printer); // Hier wird jetzt der Dateiname abgefragt


Wie bereits im Anfangsposting erwähnt, kann im QPrintDialog >drucke in Datei< ausgewählt werden. Dies wird auch getan.
calibrationText->print(printer) fragt einen Dateinamen ab und druckt die Daten auch in diese Datei.
Das Problem: mir gefällt dieser Dateinameneingabe Dialog nicht und ich würde gerne einen eigenen benutzen.
Dazu muß ich aber wissen: soll in eine Datei gedruckt werden? oder aber wie ich einen eigenen Dateinameneingabe Dialog an QPrinter übergeben kann.


oldman
Antworten