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
Problem: Drucke in Datei
Hallo,
Also wie bekomme ich die Info von QPrinter, daß in QPrintDialog >druck in Datei< ausgewählt wurde?
oldman
ich muß ja erst einmal in Erfahrung bringen, daß in eine Datei gedruckt wird.mit printer setOutputFileName("myFile.pdf") kannst Du bestimmen, dass in eine Datei gedruckt wird. Gleichzeitig legst Du fest, dass es ein pdf sein soll.
Also wie bekomme ich die Info von QPrinter, daß in QPrintDialog >druck in Datei< ausgewählt wurde?
war schon klar, deswegen wollte ich dies ja auch mit printer->outputFormat() abfragen.Übrigens:
QPrinter::NativeFormat sagt aus, dass "normal" also auf einen Drucker gedruckt wird.
oldman
Hallo,
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
Windows. Qt4.4.3Weitere Infos (z.B. Zielsystem) wären auch hilfreich.
Ich glaube zwar nicht, daß der Fehlende Quellcode weiterhilft aber bitteschön.Ohne Quellcode kann Dir nicht weitergeholfen werden.
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