QPrinter Class
Die Klasse QPrinter ist ein Malgerät, das auf einem Drucker malt. Mehr...
Kopfzeile: | #include <QPrinter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS PrintSupport) target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
qmake: | QT += printsupport |
Vererbungen: | QPagedPaintDevice |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPrinter ist Teil von Printer und Printing APIs.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Typen
enum | ColorMode { Color, GrayScale } |
enum | DuplexMode { DuplexNone, DuplexAuto, DuplexLongSide, DuplexShortSide } |
enum | OutputFormat { NativeFormat, PdfFormat } |
enum | PageOrder { FirstPageFirst, LastPageFirst } |
enum | PaperSource { Auto, Cassette, Envelope, EnvelopeManual, FormSource, …, LastPaperSource } |
enum | PrintRange { AllPages, Selection, PageRange, CurrentPage } |
enum | PrinterMode { ScreenResolution, PrinterResolution, HighResolution } |
enum | PrinterState { Idle, Active, Aborted, Error } |
enum | Unit { Millimeter, Point, Inch, Pica, Didot, …, DevicePixel } |
Öffentliche Funktionen
QPrinter(QPrinter::PrinterMode mode = ScreenResolution) | |
QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution) | |
virtual | ~QPrinter() |
bool | abort() |
bool | collateCopies() const |
QPrinter::ColorMode | colorMode() const |
int | copyCount() const |
QString | creator() const |
QString | docName() const |
QPrinter::DuplexMode | duplex() const |
bool | fontEmbeddingEnabled() const |
int | fromPage() const |
bool | fullPage() const |
bool | isValid() const |
QString | outputFileName() const |
QPrinter::OutputFormat | outputFormat() const |
QPrinter::PageOrder | pageOrder() const |
QRectF | pageRect(QPrinter::Unit unit) const |
QRectF | paperRect(QPrinter::Unit unit) const |
QPrinter::PaperSource | paperSource() const |
QPagedPaintDevice::PdfVersion | pdfVersion() const |
QPrintEngine * | printEngine() const |
QString | printProgram() const |
QPrinter::PrintRange | printRange() const |
QString | printerName() const |
QString | printerSelectionOption() const |
QPrinter::PrinterState | printerState() const |
int | resolution() const |
void | setCollateCopies(bool collate) |
void | setColorMode(QPrinter::ColorMode newColorMode) |
void | setCopyCount(int count) |
void | setCreator(const QString &creator) |
void | setDocName(const QString &name) |
void | setDuplex(QPrinter::DuplexMode duplex) |
void | setFontEmbeddingEnabled(bool enable) |
void | setFromTo(int from, int to) |
void | setFullPage(bool fp) |
void | setOutputFileName(const QString &fileName) |
void | setOutputFormat(QPrinter::OutputFormat format) |
void | setPageOrder(QPrinter::PageOrder pageOrder) |
void | setPaperSource(QPrinter::PaperSource source) |
void | setPdfVersion(QPagedPaintDevice::PdfVersion version) |
void | setPrintProgram(const QString &printProg) |
void | setPrintRange(QPrinter::PrintRange range) |
void | setPrinterName(const QString &name) |
void | setPrinterSelectionOption(const QString &option) |
void | setResolution(int dpi) |
QList<QPrinter::PaperSource> | supportedPaperSources() const |
QList<int> | supportedResolutions() const |
bool | supportsMultipleCopies() const |
int | toPage() const |
Reimplementierte öffentliche Funktionen
virtual bool | newPage() override |
virtual QPaintEngine * | paintEngine() const override |
Geschützte Funktionen
void | setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine) |
Detaillierte Beschreibung
Dieses Gerät stellt eine Reihe von Druckseiten dar und wird fast genauso verwendet wie andere Zeichengeräte wie QWidget und QPixmap. Es gibt eine Reihe zusätzlicher Funktionen zur Verwaltung gerätespezifischer Merkmale, wie z. B. Ausrichtung und Auflösung, und zum schrittweisen Durchblättern der Seiten eines Dokuments, während es erzeugt wird.
Wenn Sie unter Windows oder macOS direkt auf einen Drucker drucken, verwendet QPrinter die eingebauten Druckertreiber. Unter X11 verwendet QPrinter das Common Unix Printing System (CUPS), um die PDF-Ausgabe an den Drucker zu senden. Alternativ kann die Funktion printProgram() verwendet werden, um das zu verwendende Kommando oder Dienstprogramm anstelle der Systemvorgabe anzugeben.
Beachten Sie, dass die Einstellung von Parametern wie Papiergröße und Auflösung auf einem ungültigen Drucker undefiniert ist. Sie können QPrinter::isValid() verwenden, um dies zu überprüfen, bevor Sie irgendwelche Parameter ändern.
QPrinter unterstützt eine Reihe von Parametern, von denen die meisten vom Endbenutzer über print dialog geändert werden können. Im Allgemeinen übergibt QPrinter diese Funktionen an die zugrunde liegende QPrintEngine.
Die wichtigsten Parameter sind:
- setPageLayout() teilt QPrinter mit, welche Seitenausrichtung zu verwenden ist und welche Größe vom Drucker zu erwarten ist.
- setResolution() teilt QPrinter mit, welche Auflösung der Drucker liefern soll, in Dots per Inch (DPI).
- setFullPage() teilt QPrinter mit, ob Sie die gesamte Seite oder nur den Teil, auf den der Drucker zeichnen kann, bearbeiten möchten.
- setCopyCount() teilt QPrinter mit, wie viele Kopien des Dokuments gedruckt werden sollen.
Viele dieser Funktionen können nur aufgerufen werden, bevor der eigentliche Druck beginnt (d.h. bevor QPainter::begin() aufgerufen wird). Dies ist in der Regel sinnvoll, da es z.B. nicht möglich ist, die Anzahl der Kopien zu ändern, wenn der Druck bereits zur Hälfte abgeschlossen ist. Es gibt auch einige Einstellungen, die der Benutzer (über den Druckerdialog) festlegt und von denen erwartet wird, dass sie von den Anwendungen befolgt werden. Weitere Einzelheiten finden Sie in der Dokumentation von QAbstractPrintDialog.
Wenn QPainter::begin() aufgerufen wird, ist der QPrinter, auf dem er arbeitet, für eine neue Seite vorbereitet, so dass QPainter sofort verwendet werden kann, um die erste Seite eines Dokuments zu zeichnen. Sobald die erste Seite gezeichnet wurde, kann newPage() aufgerufen werden, um eine neue leere Seite zum Malen anzufordern, oder QPainter::end() kann aufgerufen werden, um den Druck zu beenden. Die zweite Seite und alle folgenden Seiten werden durch einen Aufruf von newPage() vorbereitet, bevor sie gezeichnet werden.
Der ersten Seite eines Dokuments muss kein Aufruf von newPage() vorausgehen. Sie müssen newPage() nur dann nach QPainter::begin() aufrufen, wenn Sie eine leere Seite am Anfang eines gedruckten Dokuments einfügen müssen. In ähnlicher Weise führt der Aufruf von newPage() nach dem Malen der letzten Seite eines Dokuments dazu, dass am Ende des gedruckten Dokuments eine Leerseite angehängt wird.
Wenn Sie den Druckauftrag abbrechen möchten, versucht abort() alles, um den Druckvorgang zu beenden. Es kann den gesamten Auftrag oder nur einen Teil davon abbrechen.
Da QPrinter auf jede QPrintEngine Unterklasse drucken kann, ist es möglich, die Druckunterstützung zu erweitern, um neue Arten von Druck-Subsystemen abzudecken, indem man QPrintEngine subklassifiziert und seine Schnittstelle neu implementiert.
Siehe auch QPrintDialog und Qt Print Support.
Dokumentation der Mitgliedstypen
enum QPrinter::ColorMode
Dieser Enum-Typ wird verwendet, um anzugeben, ob QPrinter in Farbe gedruckt werden soll oder nicht.
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::Color | 1 | in Farbe drucken, falls vorhanden, sonst in Graustufen. |
QPrinter::GrayScale | 0 | in Graustufen drucken, auch auf Farbdruckern. |
enum QPrinter::DuplexMode
Diese Aufzählung wird verwendet, um anzugeben, ob ein Blatt Papier einseitig oder beidseitig bedruckt wird (Simplex- oder Duplexdruck).
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::DuplexNone | 0 | Nur einseitiger Druck (simplex). |
QPrinter::DuplexAuto | 1 | Die Standardeinstellung des Druckers wird verwendet, um zu bestimmen, ob Duplexdruck verwendet wird. |
QPrinter::DuplexLongSide | 2 | Beide Seiten eines Blattes Papier werden für den Druck verwendet. Das Papier wird vor dem Bedrucken der zweiten Seite über die längste Kante gewendet. |
QPrinter::DuplexShortSide | 3 | Beide Seiten jedes Blattes werden für den Druck verwendet. Das Papier wird über die kürzeste Kante gewendet, bevor die zweite Seite bedruckt wird. |
enum QPrinter::OutputFormat
Die Aufzählung OutputFormat wird verwendet, um das Format zu beschreiben, das QPrinter zum Drucken verwenden soll.
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::NativeFormat | 0 | QPrinter druckt die Ausgabe mit einer Methode, die durch die Plattform definiert ist, auf der es läuft. Dieser Modus ist der Standard, wenn direkt auf einen Drucker gedruckt wird. |
QPrinter::PdfFormat | 1 | QPrinter erzeugt seine Ausgabe als durchsuchbare PDF-Datei. Dieser Modus ist die Standardeinstellung für den Druck in eine Datei. |
Siehe auch outputFormat(), setOutputFormat(), und setOutputFileName().
enum QPrinter::PageOrder
Dieser Enum-Typ wird von QPrinter verwendet, um dem Anwendungsprogramm mitzuteilen, wie zu drucken ist.
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::FirstPageFirst | 0 | die Seite mit der niedrigsten Seitenzahl soll zuerst gedruckt werden. |
QPrinter::LastPageFirst | 1 | die Seite mit der höchsten Seitenzahl soll zuerst gedruckt werden. |
enum QPrinter::PaperSource
Dieser Enum-Typ gibt an, welche Papierquelle QPrinter verwenden soll. QPrinter prüft nicht, ob die Papierquelle verfügbar ist; es verwendet diese Information nur, um zu versuchen, die Papierquelle zu setzen. Ob die Papierquelle gesetzt wird, hängt davon ab, ob der Drucker über diese spezielle Quelle verfügt.
Achtung! Dies ist derzeit nur für Windows implementiert.
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::Auto | 6 | |
QPrinter::Cassette | 11 | |
QPrinter::Envelope | 4 | |
QPrinter::EnvelopeManual | 5 | |
QPrinter::FormSource | 12 | |
QPrinter::LargeCapacity | 10 | |
QPrinter::LargeFormat | 9 | |
QPrinter::Lower | 1 | |
QPrinter::MaxPageSource | 13 | Veraltet, stattdessen LastPaperSource verwenden |
QPrinter::Middle | 2 | |
QPrinter::Manual | 3 | |
QPrinter::OnlyOne | 0 | |
QPrinter::Tractor | 7 | |
QPrinter::SmallFormat | 8 | |
QPrinter::Upper | OnlyOne | |
QPrinter::CustomSource | 14 | Eine vom Drucker definierte PaperSource, die Qt unbekannt ist |
QPrinter::LastPaperSource | CustomSource | Der höchste gültige PaperSource-Wert, derzeit CustomSource |
enum QPrinter::PrintRange
Dient zur Angabe der Druckbereichsauswahloption.
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::AllPages | 0 | Es sollen alle Seiten gedruckt werden. |
QPrinter::Selection | 1 | Nur die Auswahl soll gedruckt werden. |
QPrinter::PageRange | 2 | Der angegebene Seitenbereich soll gedruckt werden. |
QPrinter::CurrentPage | 3 | Nur die aktuelle Seite soll gedruckt werden. |
Siehe auch setPrintRange(), printRange(), und QAbstractPrintDialog::PrintRange.
enum QPrinter::PrinterMode
Diese Aufzählung beschreibt den Modus, in dem der Drucker arbeiten soll. Sie gibt eine bestimmte Auflösung und einen bestimmten Arbeitsmodus vor.
Konstante | Wert | Beschreibung |
---|---|---|
QPrinter::ScreenResolution | 0 | Setzt die Auflösung des Druckers auf die Bildschirmauflösung. Dies hat den großen Vorteil, dass die Ergebnisse, die beim Malen auf dem Drucker erzielt werden, mehr oder weniger genau der sichtbaren Ausgabe auf dem Bildschirm entsprechen. Sie ist am einfachsten zu verwenden, da die Schriftmetrik auf dem Bildschirm und auf dem Drucker gleich ist. Dies ist der Standardwert. ScreenResolution erzeugt eine schlechtere Ausgabequalität als HighResolution und sollte nur für Entwürfe verwendet werden. |
QPrinter::PrinterResolution | 1 | Dieser Wert ist veraltet. Er ist gleichbedeutend mit ScreenResolution unter Unix und HighResolution unter Windows und Mac. Aufgrund des Unterschieds zwischen ScreenResolution und HighResolution kann die Verwendung dieses Wertes zu nicht portierbarem Druckercode führen. |
QPrinter::HighResolution | 2 | Unter Windows wird die Druckerauflösung auf die für den verwendeten Drucker definierte Auflösung gesetzt. Für den PDF-Druck wird die Auflösung des PDF-Treibers auf 1200 dpi eingestellt. |
Hinweis: Bei der Darstellung von Text auf einem QPrinter Gerät ist es wichtig zu wissen, dass die Größe des Textes, wenn sie in Punkten angegeben wird, unabhängig von der für das Gerät selbst festgelegten Auflösung ist. Daher kann es sinnvoll sein, die Schriftgröße in Pixeln anzugeben, wenn Sie Text mit Grafiken kombinieren, um sicherzustellen, dass ihre relativen Größen den Erwartungen entsprechen.
enum QPrinter::PrinterState
Konstante | Wert |
---|---|
QPrinter::Idle | 0 |
QPrinter::Active | 1 |
QPrinter::Aborted | 2 |
QPrinter::Error | 3 |
enum QPrinter::Unit
Dieser Enum-Typ wird verwendet, um die Maßeinheit für Seiten- und Papiergrößen anzugeben.
Konstante | Wert |
---|---|
QPrinter::Millimeter | 0 |
QPrinter::Point | 1 |
QPrinter::Inch | 2 |
QPrinter::Pica | 3 |
QPrinter::Didot | 4 |
QPrinter::Cicero | 5 |
QPrinter::DevicePixel | 6 |
Beachten Sie den Unterschied zwischen Point und DevicePixel. Die Einheit Point ist als 1/72tel eines Zolls definiert, während die Einheit DevicePixel auflösungsabhängig ist und auf den tatsächlichen Pixeln oder Punkten des Druckers basiert.
Dokumentation der Mitgliedsfunktionen
[explicit]
QPrinter::QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
Erzeugt ein neues Druckerobjekt mit der angegebenen mode.
[explicit]
QPrinter::QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)
Erstellt ein neues Druckerobjekt mit dem angegebenen printer und mode.
[virtual noexcept]
QPrinter::~QPrinter()
Zerstört das Druckerobjekt und gibt alle zugewiesenen Ressourcen frei. Wenn der Drucker während eines laufenden Druckauftrags zerstört wird, kann sich dies auf den Druckauftrag auswirken, muss es aber nicht.
bool QPrinter::abort()
Bricht den aktuellen Druckvorgang ab. Gibt true
zurück, wenn der Drucklauf erfolgreich abgebrochen wurde, und printerState() gibt QPrinter::Aborted zurück; andernfalls false
.
Es ist nicht immer möglich, einen Druckauftrag abzubrechen. Zum Beispiel sind alle Daten an den Drucker gegangen, aber der Drucker kann oder will den Auftrag nicht abbrechen, wenn er dazu aufgefordert wird.
bool QPrinter::collateCopies() const
Gibt true
zurück, wenn die Sortierung eingeschaltet ist, wenn Mehrfachkopien ausgewählt sind. Gibt false
zurück, wenn die Sortierung ausgeschaltet ist, wenn Mehrfachkopien ausgewählt sind. Wenn die Sortierung ausgeschaltet ist, wird der Druck jeder einzelnen Seite um die Anzahl der Kopien() wiederholt, bevor die nächste Seite begonnen wird. Ist das Sortieren eingeschaltet, werden alle Seiten gedruckt, bevor die nächste Kopie dieser Seiten gestartet wird.
Siehe auch setCollateCopies().
QPrinter::ColorMode QPrinter::colorMode() const
Gibt den aktuellen Farbmodus zurück.
Siehe auch setColorMode().
int QPrinter::copyCount() const
Gibt die Anzahl der Kopien zurück, die gedruckt werden sollen. Der Standardwert ist 1.
Siehe auch setCopyCount() und supportsMultipleCopies().
QString QPrinter::creator() const
Gibt den Namen der Anwendung zurück, die das Dokument erstellt hat.
Siehe auch setCreator().
QString QPrinter::docName() const
Gibt den Dokumentnamen zurück.
Siehe auch setDocName() und QPrintEngine::PrintEnginePropertyKey.
QPrinter::DuplexMode QPrinter::duplex() const
Gibt den aktuellen Duplex-Modus zurück.
Siehe auch setDuplex().
bool QPrinter::fontEmbeddingEnabled() const
Gibt true
zurück, wenn die Schrifteinbettung aktiviert ist.
Siehe auch setFontEmbeddingEnabled().
int QPrinter::fromPage() const
Gibt die Nummer der ersten Seite in einem Bereich von zu druckenden Seiten zurück (die Einstellung "ab Seite"). Die Seiten in einem Dokument werden nach der Konvention nummeriert, dass die erste Seite die Seite 1 ist.
Standardmäßig gibt diese Funktion den speziellen Wert 0 zurück, was bedeutet, dass die Einstellung "ab Seite" nicht gesetzt ist.
Hinweis: Wenn fromPage() und toPage() beide 0 zurückgeben, bedeutet dies, dass das gesamte Dokument gedruckt wird.
Siehe auch setFromTo(), toPage(), und pageRanges().
bool QPrinter::fullPage() const
Gibt true
zurück, wenn der Ursprung des Koordinatensystems des Druckers in der Ecke der Seite liegt, und false, wenn er am Rand des druckbaren Bereichs liegt.
Siehe setFullPage() für Details und Vorbehalte.
Siehe auch setFullPage() und QPagedPaintDevice::pageLayout().
bool QPrinter::isValid() const
Gibt true
zurück, wenn der aktuell ausgewählte Drucker ein gültiger Drucker im System oder ein reiner PDF-Drucker ist; andernfalls wird false
zurückgegeben.
Um andere Fehler zu erkennen, prüfen Sie die Ausgabe von QPainter::begin() oder QPrinter::newPage().
QPrinter printer; printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("/foobar/nonwritable.pdf"); QPainter painter; if (! painter.begin(&printer)) { // Datei kann nicht geöffnet werden qWarning("failed to open file, is it writable?"); return 1; } painter.drawText(10, 10, "Test"); if (! printer.newPage()) { qWarning("failed in flushing page to disk, disk full?"); return 1; } painter.drawText(10, 10, "Test 2"); painter.end();
Siehe auch setPrinterName().
[override virtual]
bool QPrinter::newPage()
Reimplements: QPagedPaintDevice::newPage().
Weist den Drucker an, die aktuelle Seite auszuwerfen und den Druck auf einer neuen Seite fortzusetzen. Gibt true
zurück, wenn dies erfolgreich war; andernfalls false
.
Der Aufruf von newPage() bei einem inaktiven QPrinter Objekt schlägt immer fehl.
QString QPrinter::outputFileName() const
Gibt den Namen der Ausgabedatei zurück. Standardmäßig ist dies eine leere Zeichenkette (die anzeigt, dass der Drucker nicht in eine Datei drucken soll).
Siehe auch setOutputFileName() und QPrintEngine::PrintEnginePropertyKey.
QPrinter::OutputFormat QPrinter::outputFormat() const
Gibt das Ausgabeformat für diesen Drucker zurück.
Siehe auch setOutputFormat().
QPrinter::PageOrder QPrinter::pageOrder() const
Gibt die aktuelle Seitenreihenfolge zurück.
Die Standard-Seitenreihenfolge ist FirstPageFirst
.
Siehe auch setPageOrder().
QRectF QPrinter::pageRect(QPrinter::Unit unit) const
Gibt das Rechteck der Seite in unit zurück; dieses ist normalerweise kleiner als paperRect(), da die Seite normalerweise Ränder zwischen ihren Rändern und dem Papier hat.
Siehe auch QPagedPaintDevice::pageLayout().
[override virtual]
QPaintEngine *QPrinter::paintEngine() const
Reimplements: QPaintDevice::paintEngine() const.
Gibt das vom Drucker verwendete Farbwerk zurück.
QRectF QPrinter::paperRect(QPrinter::Unit unit) const
Gibt das Rechteck des Papiers in unit zurück; dieses ist normalerweise größer als pageRect().
Siehe auch pageRect().
QPrinter::PaperSource QPrinter::paperSource() const
Gibt die Papierquelle des Druckers zurück. Dies ist Manual
oder ein Druckerschacht oder eine Papierkassette.
Siehe auch setPaperSource().
QPagedPaintDevice::PdfVersion QPrinter::pdfVersion() const
Gibt die PDF-Version für diesen Drucker zurück. Die Vorgabe ist PdfVersion_1_4
.
Siehe auch setPdfVersion().
QPrintEngine *QPrinter::printEngine() const
Gibt das vom Drucker verwendete Druckwerk zurück.
QString QPrinter::printProgram() const
Gibt den Namen des Programms zurück, das die Druckausgabe an den Drucker sendet.
Standardmäßig wird eine leere Zeichenkette zurückgegeben; das bedeutet, dass QPrinter versucht, auf eine systemabhängige Weise intelligent zu sein. Nur unter X11 können Sie den Wert auf etwas anderes setzen, um ein bestimmtes Druckprogramm zu verwenden. Auf den anderen Plattformen wird eine leere Zeichenkette zurückgegeben.
Siehe auch setPrintProgram() und setPrinterSelectionOption().
QPrinter::PrintRange QPrinter::printRange() const
Gibt den Seitenbereich von QPrinter zurück. Nach dem Öffnen des Druckeinstellungsdialogs gibt diese Funktion den vom Benutzer ausgewählten Wert zurück.
Siehe auch setPrintRange().
QString QPrinter::printerName() const
Gibt den Druckernamen zurück. Dieser Wert wird zunächst auf den Namen des Standarddruckers gesetzt.
Siehe auch setPrinterName().
QString QPrinter::printerSelectionOption() const
Gibt die Zeichenkette zur Auswahl der Druckeroptionen zurück. Dies ist nur sinnvoll, wenn der Druckbefehl explizit gesetzt wurde.
Der Standardwert (eine leere Zeichenkette) bedeutet, dass der Drucker auf eine systemabhängige Weise ausgewählt werden soll.
Jeder andere Wert bedeutet, dass der angegebene Wert verwendet werden soll.
Diese Funktion gibt unter Windows und Mac immer eine leere Zeichenkette zurück.
Siehe auch setPrinterSelectionOption() und setPrintProgram().
QPrinter::PrinterState QPrinter::printerState() const
Gibt den aktuellen Zustand des Druckers zurück. Dieser ist möglicherweise nicht immer genau (z. B. wenn der Drucker nicht in der Lage ist, seinen Zustand an das Betriebssystem zu melden).
int QPrinter::resolution() const
Gibt die aktuell angenommene Auflösung des Druckers zurück, wie sie durch setResolution() oder durch den Druckertreiber festgelegt wurde.
Siehe auch setResolution().
void QPrinter::setCollateCopies(bool collate)
Legt den Standardwert für das Kontrollkästchen "Sortierung" fest, wenn der Druckdialog erscheint. Wenn collate true ist, wird setCollateCopiesEnabled() aktiviert. Der Standardwert ist false. Dieser Wert wird durch die Eingaben des Benutzers im Druckdialog geändert.
Siehe auch collateCopies().
void QPrinter::setColorMode(QPrinter::ColorMode newColorMode)
Setzt den Farbmodus des Druckers auf newColorMode, der entweder Color
oder GrayScale
sein kann.
Siehe auch colorMode().
void QPrinter::setCopyCount(int count)
Legt die Anzahl der zu druckenden Kopien auf count fest.
Der Druckertreiber liest diese Einstellung und druckt die angegebene Anzahl von Kopien.
Siehe auch copyCount() und supportsMultipleCopies().
void QPrinter::setCreator(const QString &creator)
Setzt den Namen der Anwendung, die das Dokument erstellt hat, auf creator.
Diese Funktion ist nur auf die X11-Version von Qt anwendbar. Wenn kein Name des Erstellers angegeben wird, wird der Ersteller auf "Qt" gefolgt von einer Versionsnummer gesetzt.
Siehe auch creator().
void QPrinter::setDocName(const QString &name)
Setzt den Dokumentennamen auf name.
Unter X11 wird der Dokumentname zum Beispiel als Standardausgabedateiname in QPrintDialog verwendet. Beachten Sie, dass der Dokumentname keinen Einfluss auf den Dateinamen hat, wenn der Drucker in eine Datei druckt. Verwenden Sie dazu die Funktion setOutputFile().
Siehe auch docName() und QPrintEngine::PrintEnginePropertyKey.
void QPrinter::setDuplex(QPrinter::DuplexMode duplex)
Aktiviert den doppelseitigen Druck auf der Grundlage des Modus duplex.
Siehe auch duplex().
[protected]
void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
Diese Funktion wird von Unterklassen von QPrinter verwendet, um benutzerdefinierte Druck- und Farbsysteme anzugeben (printEngine bzw. paintEngine).
QPrinter übernimmt nicht das Eigentum an den Engines, so dass Sie diese Engine-Instanzen selbst verwalten müssen.
Beachten Sie, dass das Ändern der Engines den Druckerstatus und alle seine Eigenschaften zurücksetzt.
Siehe auch printEngine(), paintEngine(), und setOutputFormat().
void QPrinter::setFontEmbeddingEnabled(bool enable)
Aktiviert oder deaktiviert die Schrifteinbettung in Abhängigkeit von enable.
Siehe auch fontEmbeddingEnabled().
void QPrinter::setFromTo(int from, int to)
Legt den Bereich der zu druckenden Seiten so fest, dass er die Seiten mit den durch from und to angegebenen Nummern umfasst, wobei from der ersten Seite im Bereich und to der letzten Seite entspricht.
Hinweis: Die Seiten eines Dokuments werden nach der Konvention nummeriert, dass die erste Seite die Seite 1 ist. Wenn jedoch from und to beide auf 0 gesetzt sind, wird das gesamte Dokument gedruckt.
Diese Funktion wird meist verwendet, um einen Standardwert zu setzen, den der Benutzer im Druckdialog überschreiben kann, wenn Sie setup() aufrufen.
Siehe auch fromPage(), toPage(), und pageRanges().
void QPrinter::setFullPage(bool fp)
Wenn fp true ist, wird die Unterstützung für das Malen über die gesamte Seite aktiviert; andernfalls wird das Malen auf den vom Gerät gemeldeten druckbaren Bereich beschränkt.
Standardmäßig ist der Ganzseitendruck deaktiviert. In diesem Fall fällt der Ursprung des Koordinatensystems von QPrinter mit der linken oberen Ecke des bedruckbaren Bereichs zusammen.
Wenn der Ganzseitendruck aktiviert ist, fällt der Ursprung des Koordinatensystems von QPrinter mit der linken oberen Ecke des Papiers selbst zusammen. In diesem Fall gibt device metrics genau die Abmessungen an, die durch {QPageSize} angegeben sind. Aufgrund der Ränder des Druckers ist es unter Umständen nicht möglich, die gesamte physische Seite zu bedrucken, so dass die Anwendung die Ränder selbst berücksichtigen muss.
Siehe auch fullPage(), QPagedPaintDevice::pageLayout(), und QPagedPaintDevice::setPageSize().
void QPrinter::setOutputFileName(const QString &fileName)
Setzt den Namen der Ausgabedatei auf fileName.
Wenn Sie einen leeren Namen (0 oder "") eingeben, wird der Druck in eine Datei deaktiviert. Das Setzen eines nicht leeren Namens aktiviert den Druck in eine Datei.
Dies kann den Wert von outputFormat() ändern. Wenn der Dateiname das Suffix ".pdf" hat, wird PDF erzeugt. Wenn der Dateiname ein anderes Suffix als ".pdf" hat, wird das Ausgabeformat verwendet, das mit setOutputFormat() festgelegt wurde.
QPrinter verwendet jeweils die plattformübergreifenden PDF-Druck-Engines von Qt. Wenn Sie dieses Format nativ erzeugen können, z.B. kann macOS PDFs von seiner Druck-Engine erzeugen, setzen Sie das Ausgabeformat zurück auf NativeFormat.
Siehe auch outputFileName() und setOutputFormat().
void QPrinter::setOutputFormat(QPrinter::OutputFormat format)
Setzt das Ausgabeformat für diesen Drucker auf format.
Wenn format derselbe Wert wie der aktuell eingestellte ist, wird keine Änderung vorgenommen.
Wenn format gleich NativeFormat ist, wird printerName auf den Standarddrucker eingestellt. Wenn keine gültigen Drucker konfiguriert sind, wird keine Änderung vorgenommen. Wenn Sie NativeFormat mit einem bestimmten printerName einstellen möchten, verwenden Sie setPrinterName().
Siehe auch outputFormat() und setPrinterName().
void QPrinter::setPageOrder(QPrinter::PageOrder pageOrder)
Setzt die Seitenreihenfolge auf pageOrder.
Die Seitenreihenfolge kann QPrinter::FirstPageFirst oder QPrinter::LastPageFirst sein. Die Anwendung ist dafür verantwortlich, die Seitenreihenfolge zu lesen und entsprechend zu drucken.
Diese Funktion ist vor allem nützlich, um einen Standardwert zu setzen, den der Benutzer im Druckdialog überschreiben kann.
Diese Funktion wird nur unter X11 unterstützt.
Siehe auch pageOrder().
void QPrinter::setPaperSource(QPrinter::PaperSource source)
Setzt die Einstellung der Papierquelle auf source.
Nur für Windows: Diese Option kann während des Druckens geändert werden und wird mit dem nächsten Aufruf von newPage() wirksam.
Siehe auch paperSource().
void QPrinter::setPdfVersion(QPagedPaintDevice::PdfVersion version)
Setzt die PDF-Version für diesen Drucker auf version.
Wenn version derselbe Wert wie die aktuelle Einstellung ist, wird keine Änderung vorgenommen.
Siehe auch pdfVersion().
void QPrinter::setPrintProgram(const QString &printProg)
Setzt den Namen des Programms, das den Druckauftrag ausführen soll, auf printProg.
Unter X11 legt diese Funktion das Programm fest, das mit der PDF-Ausgabe aufgerufen wird. Auf anderen Plattformen hat sie keine Auswirkung.
Siehe auch printProgram().
void QPrinter::setPrintRange(QPrinter::PrintRange range)
Setzt die Druckbereichoption in auf range.
Siehe auch printRange().
void QPrinter::setPrinterName(const QString &name)
Setzt den Druckernamen auf name.
Wenn name leer ist, wird das Ausgabeformat auf PdfFormat gesetzt.
Wenn name kein gültiger Drucker ist, wird keine Änderung vorgenommen.
Wenn name ein gültiger Drucker ist, wird das Ausgabeformat auf NativeFormat gesetzt.
Siehe auch printerName(), isValid(), und setOutputFormat().
void QPrinter::setPrinterSelectionOption(const QString &option)
Legt fest, dass der Drucker option verwendet, um den Drucker auszuwählen. option ist standardmäßig Null (was bedeutet, dass Qt intelligent genug sein sollte, um richtig zu raten), aber es kann auf andere Werte gesetzt werden, um eine bestimmte Druckerauswahloption zu verwenden.
Wenn die Druckerauswahloption geändert wird, während der Drucker aktiv ist, kann der aktuelle Druckauftrag davon betroffen sein, muss aber nicht.
Diese Funktion hat keine Auswirkungen auf Windows oder Mac.
Siehe auch printerSelectionOption() und setPrintProgram().
void QPrinter::setResolution(int dpi)
Verlangt, dass der Drucker bei dpi oder so nahe wie möglich bei dpi druckt.
Diese Einstellung wirkt sich auf das Koordinatensystem aus, das zum Beispiel von QPainter::viewport() zurückgegeben wird.
Diese Funktion muss vor QPainter::begin() aufgerufen werden, um auf allen Plattformen wirksam zu sein.
Siehe auch resolution() und QPagedPaintDevice::setPageSize().
QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
Gibt die unterstützten Papierformate für diesen Drucker zurück.
Die Werte sind entweder ein Wert, der mit einem Eintrag in der Aufzählung QPrinter::PaperSource übereinstimmt oder ein treiberspezifischer Wert. Die treiberspezifischen Werte sind größer als die in wingdi.h deklarierte Konstante DMBIN_USER.
Warnung: Diese Funktion ist nur unter Windows verfügbar.
QList<int> QPrinter::supportedResolutions() const
Gibt eine Liste der Auflösungen zurück (eine Liste von ganzen Zahlen mit Punkten pro Zoll), die der Drucker nach eigenen Angaben unterstützt.
Für X11, wo alle Drucke direkt in PDF gedruckt werden, gibt diese Funktion immer eine Liste mit nur einem Element zurück, die nur die PDF-Auflösung enthält, d.h. 72 (72 dpi - aber siehe PrinterMode).
bool QPrinter::supportsMultipleCopies() const
Gibt true
zurück, wenn der Drucker den Druck mehrerer Kopien desselben Dokuments in einem Auftrag unterstützt; andernfalls wird false zurückgegeben.
Auf den meisten Systemen gibt diese Funktion true zurück. Auf X11-Systemen, die CUPS nicht unterstützen, gibt diese Funktion jedoch false zurück. Das bedeutet, dass die Anwendung die Anzahl der Kopien selbst bestimmen muss, indem sie das gleiche Dokument so oft wie nötig druckt.
Siehe auch setCopyCount() und copyCount().
int QPrinter::toPage() const
Gibt die Nummer der letzten Seite in einem Bereich von zu druckenden Seiten zurück (die Einstellung "bis Seite"). Die Seiten in einem Dokument werden nach der Konvention nummeriert, dass die erste Seite die Seite 1 ist.
Standardmäßig gibt diese Funktion den speziellen Wert 0 zurück, was bedeutet, dass die Einstellung "bis Seite" nicht gesetzt ist.
Hinweis: Wenn fromPage() und toPage() beide 0 zurückgeben, bedeutet dies, dass das gesamte Dokument gedruckt wird.
Der Programmierer ist dafür verantwortlich, diese Einstellung zu lesen und entsprechend zu drucken.
Siehe auch setFromTo(), fromPage(), und pageRanges().
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.