Auf dieser Seite

QPrintDialog Class

Die Klasse „QPrintDialog“ stellt einen Dialog zur Festlegung der Druckerkonfiguration bereit. Mehr...

Header: #include <QPrintDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake: QT += printsupport
Erbt von: QAbstractPrintDialog

Eigenschaften

Öffentliche Funktionen

QPrintDialog(QWidget *parent = nullptr)
QPrintDialog(QPrinter *printer, QWidget *parent = nullptr)
virtual ~QPrintDialog()
void open(QObject *receiver, const char *member)
QAbstractPrintDialog::PrintDialogOptions options() const
QPrinter *printer()
void setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true)
void setOptions(QAbstractPrintDialog::PrintDialogOptions options)
bool testOption(QAbstractPrintDialog::PrintDialogOption option) const

Neu implementierte öffentliche Funktionen

virtual void done(int result) override
virtual int exec() override
virtual void setVisible(bool visible) override

Signale

void accepted(QPrinter *printer)

Ausführliche Beschreibung

Über das Dialogfeld können Benutzer dokumentbezogene Einstellungen ändern, wie z. B. Papierformat und -ausrichtung, Druckart (Farbe oder Graustufen), Seitenbereich und die Anzahl der zu druckenden Kopien.

Außerdem stehen Steuerelemente zur Verfügung, mit denen Benutzer aus den verfügbaren Druckern auswählen können, einschließlich aller konfigurierten Netzwerkdrucker.

In der Regel werden QPrintDialog-Objekte mit einem „ QPrinter “-Objekt erstellt und mit der Funktion „ exec()“ ausgeführt.

QPrintDialog printDialog(printer, parent);
if (printDialog.exec() == QDialog::Accepted) {
    // print ...
}

Wird der Dialog vom Benutzer bestätigt, wird das ` QPrinter `-Objekt korrekt für den Druck konfiguriert.

Screenshot des Menüs zum Drucken eines DokumentsScreenshot der Einstellungen, mit denen das Dokument gedruckt wird

Der Druckerdialog (oben im Plastique-Stil dargestellt) ermöglicht den Zugriff auf gängige Druckeigenschaften. Auf X11-Plattformen, die das CUPS-Drucksystem verwenden, können die Einstellungen für jeden verfügbaren Drucker über die Schaltfläche „ Properties “ des Dialogs geändert werden.

Unter Windows und macOS wird der native Druckdialog verwendet, was bedeutet, dass einige der im Dialog festgelegten Eigenschaften von „ QWidget “ und „ QDialog “ nicht berücksichtigt werden. Der native Druckdialog unter macOS unterstützt keine Druckereinstellungen, d. h., „ setOptions “ () und „ setOption “ () haben keine Wirkung.

In Qt 4.4 war es möglich, mithilfe der statischen Funktionen ein Blatt unter macOS anzuzeigen. Dies wird in Qt 4.5 nicht mehr unterstützt. Wenn Sie diese Funktionalität nutzen möchten, verwenden Sie QPrintDialog::open().

Siehe auch QPageSetupDialog und QPrinter.

Dokumentation zu den Eigenschaften

options : PrintDialogOptions

Diese Eigenschaft enthält die verschiedenen Optionen, die das Erscheinungsbild des Dialogfelds beeinflussen

Standardmäßig sind alle Optionen deaktiviert.

Die Optionen sollten vor dem Anzeigen des Dialogfelds festgelegt werden. Es ist nicht garantiert, dass das Festlegen der Optionen bei sichtbarem Dialogfeld sofortige Auswirkungen auf das Dialogfeld hat (abhängig von der Option und der Plattform).

Zugriffsfunktionen:

QAbstractPrintDialog::PrintDialogOptions options() const
void setOptions(QAbstractPrintDialog::PrintDialogOptions options)

Siehe auch setOption() und testOption().

Dokumentation zu den Mitgliedsfunktionen

[explicit] QPrintDialog::QPrintDialog(QWidget *parent = nullptr)

Erstellt einen Druckdialog mit dem angegebenen „ parent “.

[explicit] QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent = nullptr)

Erstellt einen neuen modalen Druckerdialog für die angegebene „ printer “ mit der angegebenen „ parent “.

[virtual noexcept] QPrintDialog::~QPrintDialog()

Schließt das Druckdialogfeld.

[signal] void QPrintDialog::accepted(QPrinter *printer)

Dieses Signal wird ausgelöst, wenn der Benutzer die im Druckdialog festgelegten Werte übernimmt. Der Parameter „ printer “ enthält den Drucker, auf den die Einstellungen angewendet wurden.

[override virtual] void QPrintDialog::done(int result)

Implementiert: ` QDialog::done(int r)`.

Schließt den Dialog und setzt dessen Ergebniscode auf ` result`. Wenn dieser Dialog mit ` exec()` angezeigt wird, bewirkt `done()`, dass die lokale Ereignisschleife beendet wird und ` exec()` den Wert ` result` zurückgibt.

Hinweis: Diese Funktion gilt nicht für den nativen Druckdialog auf den Plattformen Mac macOS und Windows, da der Dialog modal sein muss und nur vom Benutzer geschlossen werden kann.

Siehe auch „ QDialog::done()“.

[override virtual] int QPrintDialog::exec()

Implementiert: QDialog::exec().

void QPrintDialog::open(QObject *receiver, const char *member)

Öffnet das Dialogfeld und verbindet dessen Signal „ accepted()“ mit dem durch „ receiver “ und „ member “ angegebenen Slot.

Das Signal wird vom Slot getrennt, sobald das Dialogfeld geschlossen wird.

QPrinter *QPrintDialog::printer()

Gibt den Drucker zurück, auf den sich dieser Druckerdialog bezieht. Dies kann bei der Verwendung der Methode „ QPrintDialog::open()“ nützlich sein.

void QPrintDialog::setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true)

Setzt die angegebene Eigenschaft „ option “ auf „enabled“, wenn „ on “ den Wert „true“ hat; andernfalls wird die angegebene Eigenschaft „ option “ zurückgesetzt.

Siehe auch „ options “ und „ testOption()“.

[override virtual] void QPrintDialog::setVisible(bool visible)

Implementiert: ` QDialog::setVisible` (bool visible).

bool QPrintDialog::testOption(QAbstractPrintDialog::PrintDialogOption option) const

Gibt „ true “ zurück, wenn die angegebene Funktion „ option “ aktiviert ist; andernfalls wird „false“ zurückgegeben.

Siehe auch „ options “ und „ setOption()“.

© 2026 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.