本页内容

QPrintEngine Class

QPrintEngine 类定义了一个接口,用于指定QPrinter 与特定打印子系统之间的交互方式。更多内容...

头文件: #include <QPrintEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake: QT += printsupport

注意:该类中的所有函数均为可重入的。

公共类型

enum PrintEnginePropertyKey { PPK_CollateCopies, PPK_ColorMode, PPK_Creator, PPK_Duplex, PPK_DocumentName, …, PPK_CustomBase }

公共函数

virtual ~QPrintEngine()
virtual bool abort() = 0
virtual int metric(QPaintDevice::PaintDeviceMetric id) const = 0
virtual bool newPage() = 0
virtual QPrinter::PrinterState printerState() const = 0
virtual QVariant property(QPrintEngine::PrintEnginePropertyKey key) const = 0
virtual void setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value) = 0

详细说明

在创建自己的打印引擎时,通常的做法是同时继承自QPaintEngine 和QPrintEngine。打印引擎的各种属性可通过property()获取,并通过setProperty()进行设置。

另请参阅 QPaintEngine 。

成员类型文档

enum QPrintEngine::PrintEnginePropertyKey

此枚举用于在打印引擎与QPrinter 之间传递属性。某个属性可能被特定打印引擎支持,也可能不被支持。

常量值描述
QPrintEngine::PPK_CollateCopies0一个布尔值,用于指示打印输出是否应进行分拣。
QPrintEngine::PPK_ColorMode1指QPrinter::ColorMode ,可以是彩色或单色。
QPrintEngine::PPK_Creator2描述文档创建者的字符串。
QPrintEngine::PPK_Duplex20一个布尔值,用于指示打印时是否应使用打印纸的正反两面。
QPrintEngine::PPK_DocumentName3一个字符串,用于描述 spooler 中的文档名称。
QPrintEngine::PPK_FontEmbedding19一个布尔值,用于指示文档字体的数据是否应嵌入到发送至打印机的数据中。
QPrintEngine::PPK_FullPage4一个布尔值,用于描述打印机是否应采用全页打印。
QPrintEngine::PPK_NumberOfCopies5已弃用。一个指定复印份数的整数。请改用 PPK_CopyCount。
QPrintEngine::PPK_Orientation6指定QPageLayout::Orientation 的值。
QPrintEngine::PPK_OutputFileName7输出文件名的字符串。空文件名表示打印机不应将内容打印到文件中。
QPrintEngine::PPK_PageOrder8指定一个QPrinter::PageOrder 值。
QPrintEngine::PPK_PageRect9一个QRect ,用于指定页面矩形
QPrintEngine::PPK_PageSize10已弃用。请改用 PPK_PaperSize。
QPrintEngine::PPK_PaperRect11一个指定页面矩形的QRect 。
QPrintEngine::PPK_PaperSource12指定一个QPrinter::PaperSource 值。
QPrintEngine::PPK_PaperSources21指定多个QPrinter::PaperSource 值。
QPrintEngine::PPK_PaperName26一个指定纸张名称的字符串。
QPrintEngine::PPK_PaperSizePPK_PageSize指定一个 QPrinter::PaperSize 值。
QPrintEngine::PPK_PrinterName13一个指定打印机名称的字符串。
QPrintEngine::PPK_PrinterProgram14一个字符串,用于指定用于打印的打印机程序的名称,
QPrintEngine::PPK_Resolution15一个整数,用于描述该打印机的每英寸点数。
QPrintEngine::PPK_SelectionOption16 
QPrintEngine::PPK_SupportedResolutions17一个由整型 QVariant 组成的列表,描述该打印机支持的分辨率集。
QPrintEngine::PPK_WindowsPageSize18一个整数,用于指定 Windows 系统中的 DM_PAPER 条目。
QPrintEngine::PPK_CustomPaperSize22一个QSizeF ,用于指定以QPrinter::Point 为单位的自定义纸张尺寸。
QPrintEngine::PPK_PageMargins23一个QList<QVariant>,其中包含以QPrinter::Point 为单位的左、上、右和下边距值。
QPrintEngine::PPK_CopyCount24一个整数,用于指定要打印的份数。
QPrintEngine::PPK_SupportsMultipleCopies25一个布尔值,用于指示打印机是否支持在一项作业中打印多份副本。
QPrintEngine::PPK_QPageSize27使用QPageSize 对象设置页面大小。
QPrintEngine::PPK_QPageMargins28使用QMarginsF 和QPageLayout::Unit 的 std::pair 来设置页面边距。
QPrintEngine::PPK_QPageLayout29使用QPageLayout 对象设置页面布局。
QPrintEngine::PPK_CustomBase0xff00扩展的基础。

成员函数文档

[virtual noexcept] QPrintEngine::~QPrintEngine()

损坏打印引擎。

[pure virtual] bool QPrintEngine::abort()

指示打印引擎中止打印过程。如果成功,则返回true;否则返回false 。

[pure virtual] int QPrintEngine::metric(QPaintDevice::PaintDeviceMetric id) const

返回给定id 的度量值。

[pure virtual] bool QPrintEngine::newPage()

指示打印引擎开始新页面。如果打印机成功创建了新页面,则返回true ;否则返回false 。

[pure virtual] QPrinter::PrinterState QPrintEngine::printerState() const

返回打印引擎当前正在使用的打印机的状态。

[pure virtual] QVariant QPrintEngine::property(QPrintEngine::PrintEnginePropertyKey key) const

返回由 `key` 指定的打印引擎属性。

另请参阅 setProperty()。

[pure virtual] void QPrintEngine::setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value)

将由key 指定的打印引擎属性设置为给定的value 。

另请参阅 property()。

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