QPrinter 类
QPrinter 类是一个在打印机上绘图的绘图设备。 更多...
头文件 | #include <QPrinter> |
CMake | find_package(Qt6 REQUIRED COMPONENTS PrintSupport) target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
qmake | QT += printsupport |
继承 | QPagedPaintDevice |
- 包括继承成员的所有成员列表
- QPrinter 属于 打印机和打印 API。
注意: 此类中所有函数都是 可重入的。
公共类型
枚举 | ColorMode { Color, GrayScale } |
枚举 | DuplexMode { DuplexNone, DuplexAuto, DuplexLongSide, DuplexShortSide } |
枚举 | OutputFormat { NativeFormat, PdfFormat } |
枚举 | PageOrder { FirstPageFirst, LastPageFirst } |
枚举 | PaperSource { Auto, Cassette, Envelope, EnvelopeManual, FormSource, …, LastPaperSource } |
枚举 | PrintRange { AllPages, Selection, PageRange, CurrentPage } |
枚举 | PrinterMode { ScreenResolution, PrinterResolution, HighResolution } |
枚举 | PrinterState { Idle, Active, Aborted, Error } |
枚举 | Unit { Millimeter, Point, Inch, Pica, Didot, …, DevicePixel } |
公共函数
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 | supportedPaperSources() const |
QList | supportedResolutions() const |
bool | supportsMultipleCopies() const |
int | toPage() const |
重写公共函数
virtual bool | newPage() override |
virtual QPaintEngine * | paintEngine() const override |
受保护函数
void | setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine) |
详细说明
此设备表示一系列打印输出页面,其使用方式几乎与其他绘画设备,如QWidget和QPixmap完全相同。提供了一组额外的函数来管理特定于设备的功能,例如方向和分辨率,以及生成文档时逐页遍历。
在Windows或macOS上将打印输出直接打印到打印机时,QPrinter使用内置的打印机驱动程序。在X11上,QPrinter使用通用Unix打印系统(CUPS)将PDF输出发送到打印机。作为替代,可以使用printProgram()函数指定要使用的命令或实用程序,而不是系统默认设置。
请注意,在无效打印机上设置纸张尺寸和分辨率等参数是未定义的。您可以使用QPrinter::isValid()在更改任何参数之前验证此信息。
QPrinter 支持多个参数,其中大多数可以通过 打印对话框 由用户更改。通常,QPrinter 将这些功能传递给底层的 QPrintEngine。
最重要的参数包括
- setPageLayout() 告诉 QPrinter 使用哪种页面方向,以及期望打印机打印的尺寸。
- setResolution() 告诉 QPrinter 想要打印机提供多少每英寸点数 (DPI) 的分辨率。
- setFullPage() 告诉 QPrinter 你是想处理整页还是只处理打印机可以绘制的那部分。
- setCopyCount() 告诉 QPrinter 应该打印多少份文档。
许多这些函数只能在实际打印开始之前调用(即调用 QPainter::begin() 之前)。这通常是有道理的,例如,当你在打印中途时,无法更改副本数量。用户还设置了一些设置(通过打印机对话框),并且应用程序应遵守这些设置。有关详细信息,请参阅 QAbstractPrintDialog 的文档。
当调用 QPainter::begin() 时,QPrinter 准备一个新页面,使 QPainter 能够立即在文档的第一页上绘制。一旦绘制了第一页,就可以通过调用 newPage() 来请求一个新的空白页面用于绘制,或者调用 QPainter::end() 来结束打印。第二页及其后的所有页面在绘制之前将使用调用 newPage() 来准备。
文档的第一页不需要在调用 newPage() 之前。只有在你需要在打印文档开始时插入一个空白页时,才需要在 QPainter::begin() 之后调用 newPage()。同样,在打印文档的最后一页绘制后在调用 newPage() 会导致在打印文档的末尾附加一个尾随的空白页。
如果你想放弃打印作业,abort() 将尽最大努力停止打印。它可能取消整个作业或部分作业。
由于 QPrinter 可以打印到任何 QPrintEngine 子类,因此通过子类化 QPrintEngine 并重新实现其接口,可以将打印支持扩展到涵盖新的打印子系统。
另请参阅 QPrintDialog 和 Qt 打印支持。
成员类型文档
enum QPrinter::ColorMode
此枚举类型用于指示 QPrinter 是否应该彩色打印。
常量 | 值 | 描述 |
---|---|---|
QPrinter::Color | 1 | 如果可能,则以彩色打印,否则以灰度打印。 |
QPrinter::GrayScale | 0 | 以灰度打印,即使在彩色打印机上。 |
enum QPrinter::DuplexMode
此枚举用于指示打印是否发生在一侧或每张纸的两侧(单面或双面打印)。
常量 | 值 | 描述 |
---|---|---|
QPrinter::DuplexNone | 0 | 仅单面(单面)打印。 |
QPrinter::DuplexAuto | 1 | 打印机的默认设置用于确定是否使用双面打印。 |
QPrinter::DuplexLongSide | 2 | 每张纸的两面都用于打印。在打印第二面之前,纸张翻转到其最长的边缘。 |
QPrinter::DuplexShortSide | 3 | 每张纸的两面都用于打印。在打印第二面之前,纸张翻转到其最短的边缘。 |
枚举 QPrinter::OutputFormat
OutputFormat 枚举用于描述 QPrinter 应用的打印格式。
常量 | 值 | 描述 |
---|---|---|
QPrinter::NativeFormat | 0 | QPrinter 将根据其运行平台的定义方法打印输出。当直接打印到打印机时,此模式是默认的。 |
QPrinter::PdfFormat | 1 | QPrinter 将输出生成可搜索的 PDF 文件。当将输出打印到文件时,此模式是默认的。 |
另请参阅 outputFormat()、setOutputFormat() 和 setOutputFileName()。
枚举 QPrinter::PageOrder
此枚举类型由 QPrinter 用于告知应用程序如何打印。
常量 | 值 | 描述 |
---|---|---|
QPrinter::FirstPageFirst | 0 | 应该首先打印编号最低的页面。 |
QPrinter::LastPageFirst | 1 | 应该首先打印编号最高的页面。 |
枚举 QPrinter::PaperSource
此枚举类型指定 QPrinter 要使用的纸张来源。 QPrinter 不会检查纸张来源是否可用;它只会使用此信息尝试设置纸张来源。它是否将设置纸张来源取决于打印机是否有该特定的来源。
警告:目前此功能仅在 Windows 上实现。
常量 | 值 | 描述 |
---|---|---|
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 | 已弃用,请使用 LastPaperSource 代替 |
QPrinter::Middle | 2 | |
QPrinter::Manual | 3 | |
QPrinter::OnlyOne | 0 | |
QPrinter::Tractor | 7 | |
QPrinter::SmallFormat | 8 | |
QPrinter::Upper | OnlyOne | |
QPrinter::CustomSource | 14 | 由打印机定义的纸张来源且 Qt 所不知。 |
QPrinter::LastPaperSource | CustomSource | 最高的有效 PaperSource 值,目前为 CustomSource |
枚举 QPrinter::PrintRange
用于指定打印范围选择选项。
常量 | 值 | 描述 |
---|---|---|
QPrinter::AllPages | 0 | 应打印所有页面。 |
QPrinter::Selection | 1 | 仅打印选择内容。 |
QPrinter::PageRange | 2 | 应打印指定的页面范围。 |
QPrinter::CurrentPage | 3 | 仅打印当前页面。 |
另请参阅 setPrintRange()、printRange() 和 QAbstractPrintDialog::PrintRange。
枚举 QPrinter::PrinterMode
此枚举描述打印机应工作在的模式。它基本上预设了特定的分辨率和工作模式。
常量 | 值 | 描述 |
---|---|---|
QPrinter::ScreenResolution | 0 | 将打印设备的分辨率设置到屏幕分辨率。这有一个很大的优点,即打印设备上的字体度量与屏幕上的是相同的。这是最易使用的,因为屏幕和打印机上的字体度量是相同的。这是默认值。ScreenResolution 将产生比 HighResolution 低质量的输出,并且仅应用于草稿。 |
QPrinter::PrinterResolution | 1 | 此值已弃用。它在Unix上等同于ScreenResolution,在Windows和Mac上等同于HighResolution。由于ScreenResolution和HighResolution之间的差异,使用此值可能会导致不兼容的打印机代码。 |
QPrinter::HighResolution | 2 | 在Windows上,设置打印机的分辨率为正在使用的打印机所定义的分辨率。对于PDF打印,将PDF驱动程序的分辨率设置为1200 dpi。 |
注意:在QPrinter设备上渲染文本时,重要的是要意识到,当文本的尺寸以点为单位指定时,它独立于为设备本身指定的分辨率。因此,在将文本与图形组合时,指定字体大小为像素可能很有用,以确保它们的相对尺寸符合您的期望。
枚举 QPrinter::PrinterState
常量 | 值 |
---|---|
QPrinter::Idle | 0 |
QPrinter::Active | 1 |
QPrinter::Aborted | 2 |
QPrinter::Error | 3 |
枚举 QPrinter::Unit
此枚举类型用于指定页面和纸张大小的测量单位。
常量 | 值 |
---|---|
QPrinter::Millimeter | 0 |
QPrinter::Point | 1 |
QPrinter::Inch | 2 |
QPrinter::Pica | 3 |
QPrinter::Didot | 4 |
QPrinter::Cicero | 5 |
QPrinter::DevicePixel | 6 |
注意Point和DevicePixel之间的区别。Point单位被定义为1/72英寸,而DevicePixel单位是分辨率相关的,基于打印机上的实际像素或点。
成员函数文档
[显式]
QPrinter::QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
使用给定的mode创建一个新的打印机对象。
[显式]
QPrinter::QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)
使用给定的printer和mode创建一个新的打印机对象。
[虚拟 noexcept]
QPrinter::~QPrinter()
销毁打印机对象并释放任何分配的资源。如果在打印作业进行中销毁打印机,则此操作可能会或可能不会影响打印作业。
bool QPrinter::abort()
终止当前的打印任务。如果成功终止打印任务并且printerState()将返回QPrinter::Aborted,则返回true;否则返回false。
有时无法终止打印任务。例如,所有数据都已发送到打印机,但打印机无法或不愿在请求时取消作业。
bool QPrinter::collateCopies() const
如果选择多个副本时启用了排序,则返回true。如果选择多个副本时禁用了排序,则返回false。当排序被禁用时,每个单独页面的打印将从numCopies()数量重复,然后开始下一页。当排序被启实时,所有页面将被打印,然后再开始打印那些页面的下一个副本。
另请参阅:setCollateCopies。
QPrinter::ColorMode QPrinter::colorMode() const
返回当前的颜色模式。
另请参阅:setColorMode。
int QPrinter::copyCount() const
返回将要打印的份数。默认值是1。
另请参阅setCopyCount() 和 supportsMultipleCopies。
QString QPrinter::creator() const
返回创建文档的应用程序的名称。
另请参阅setCreator。
QString QPrinter::docName() const
返回文档名称。
另请参阅setDocName() 和 QPrintEngine::PrintEnginePropertyKey。
QPrinter::DuplexMode QPrinter::duplex() const
返回当前双面打印模式。
另请参阅setDuplex。
bool QPrinter::fontEmbeddingEnabled() const
如果启用了字体嵌入,则返回 true
。
int QPrinter::fromPage() const
返回要打印的页面范围的起始页码(“起始页”设置)。文档中的页面根据惯例编号,即第一页为第一页。
默认情况下,此函数返回一个特殊值0,表示未设置“起始页”。
注意:如果fromPage()和toPage()都返回0,则表示将打印整个文档。
另请参阅setFromTo,toPage和pageRanges。
bool QPrinter::fullPage() const
如果打印机的坐标系原点位于页面角落,则返回true
;如果位于可打印区域边缘,则返回false。
有关详细信息和使用注意事项,请参阅setFullPage。
另请参阅setFullPage和QPagedPaintDevice::pageLayout。
bool QPrinter::isValid() const
如果当前选定的打印机是系统中的有效打印机或纯PDF打印机,则返回true
;否则返回false
。
要检测其他失败,请检查QPainter::begin()或QPrinter::newPage()的输出。
QPrinter printer; printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("/foobar/nonwritable.pdf"); QPainter painter; if (! painter.begin(&printer)) { // failed to open file 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();
另请参阅setPrinterName。
[覆盖虚函数]
bool QPrinter::newPage()
重实现:QPagedPaintDevice::newPage。
告诉打印机弹出当前页面并继续在新页面上打印。如果成功,则返回true
;否则返回false
。
在非活动QPrinter对象上调用newPage()始终失败。
QString QPrinter::outputFileName() const
返回输出文件的名称。默认情况下,这是一个空字符串(表示打印机不应将内容打印到文件)。
另请参阅setOutputFileName() 和 QPrintEngine::PrintEnginePropertyKey。
QPrinter::OutputFormat QPrinter::outputFormat() const
返回此打印机的输出格式。
另请参阅setOutputFormat。
QPrinter::PageOrder QPrinter::pageOrder() const
返回当前页面顺序。
默认页面顺序为 FirstPageFirst
。
另请参阅setPageOrder。
QRectF QPrinter::pageRect(QPrinter::Unit unit) const
以 unit 返回页面的矩形;这通常小于 paperRect(),因为页面通常在其边框和纸张之间有页边距。
另请参阅QPagedPaintDevice::pageLayout。
[重写虚拟]
QPaintEngine *QPrinter::paintEngine() const
重新实现了: QPaintDevice::paintEngine() const。
返回打印机使用的绘图引擎。
QRectF QPrinter::paperRect(QPrinter::Unit unit) const
以 unit 返回纸张的矩形;这通常大于 pageRect。
另请参阅pageRect。
QPrinter::PaperSource QPrinter::paperSource() const
返回打印机的纸张来源。这是 Manual
或打印机纸盒或纸盒。
另请参阅setPaperSource。
QPagedPaintDevice::PdfVersion QPrinter::pdfVersion() const
返回此打印机的PDF版本。默认为 PdfVersion_1_4
。
另请参阅setPdfVersion。
QPrintEngine *QPrinter::printEngine() const
返回打印机使用的打印引擎。
QString QPrinter::printProgram() const
返回将打印输出发送到打印机的程序的名称。
默认返回一个空字符串;这意味着 QPrinter 将以系统相关的方式尝试智能处理。在X11上,您可以将其设置为不同的值以使用特定的打印程序。在其他平台,它返回一个空字符串。
另请参阅setPrintProgram 和 setPrinterSelectionOption。
QPrinter::PrintRange QPrinter::printRange() const
返回 QPrinter 的页面范围。在打印设置对话框打开后,此函数返回用户选择的值。
另请参阅 setPrintRange。
QString QPrinter::printerName() const
返回打印机名称。该值最初设置为默认打印机的名称。
另请参阅setPrinterName。
QString QPrinter::printerSelectionOption() const
返回打印机选项选择字符串。此选项仅在已显式设置打印命令时有用。
默认值(空字符串)表示打印机应以系统依赖的方式选择。
任何其他值表示应使用给定的值。
此函数在 Windows 和 Mac 上始终返回空字符串。
另请参阅 setPrinterSelectionOption 和 setPrintProgram。
QPrinter::PrinterState QPrinter::printerState() const
返回打印机的当前状态。这可能并不总是准确的(例如,如果打印机没有向操作系统报告其状态的能力)。
int QPrinter::resolution() const
返回打印机当前假定的分辨率,由 setResolution 或打印机驱动程序设置。
另请参阅 setResolution。
void QPrinter::setCollateCopies(bool collate)
设置打印对话框出现时的整理复选框的默认值。如果 collate 为 true,则启用 setCollateCopiesEnabled()。默认值为 false。此值将由用户在打印对话框中按下改为更改。
另请参阅 collateCopies。
void QPrinter::setColorMode(QPrinter::ColorMode newColorMode)
将打印机的颜色模式设置为 newColorMode,可以是 Color
或 GrayScale
。
另请参阅 colorMode。
void QPrinter::setCopyCount(int count)
将打印份数设置为 count。
打印机驱动程序会读取此设置并打印指定数量的副本。
另请参阅 copyCount 和 supportsMultipleCopies。
void QPrinter::setCreator(const QString &creator)
将创建文档的应用程序名称设置为 creator。
此函数仅适用于 Qt 的 X11 版本。如果没有指定创建者名称,创建者将设置为 "Qt" 加上某些版本号。
另请参阅 creator。
void QPrinter::setDocName(const QString &name)
将文档名称设置为 name。
在X11上,文档名称在QPrintDialog中用作默认输出文件名。请注意,如果打印机将打印到文件,则文档名称不会影响文件名。使用setOutputFile()函数来处理此。
另请参阅 docName()和QPrintEngine::PrintEnginePropertyKey。
void QPrinter::setDuplex(QPrinter::DuplexMode duplex)
根据duplex模式启用双面打印。
另请参阅 duplex。
[受保护]
void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
此函数由QPrinter的子类使用,以指定自定义打印和绘图引擎(分别对应于printEngine和paintEngine)。
QPrinter不获取引擎的所有权,因此您需要自己管理这些引擎实例。
注意,更改引擎会将打印机的状态及其所有属性重置。
另请参阅 printEngine(), paintEngine()和setOutputFormat。
void QPrinter::setFontEmbeddingEnabled(bool enable)
根据enable启用或禁用字体嵌入。
另请参阅 fontEmbeddingEnabled。
void QPrinter::setFromTo(int from, int to)
设置要打印的页面范围,以包含由from和to指定的数字页,其中from对应于范围内的第一页,to对应于最后一页。
注意:文档中的页面是按照第一页是页码1的惯例编号。但是,如果from和to都设置为0,则将打印整个文档。
此功能主要用于在调用setup()时设置一个默认值,用户可以在打印对话框中覆盖该值。
另请参阅 fromPage(), toPage()和pageRanges。
void QPrinter::setFullPage(bool fp)
如果fp为真,则启用对整个页面的绘图支持;否则将绘图限制为设备报告的可打印区域。
默认情况下,全页打印被禁用。在这种情况下,QPrinter坐标系的原点与可打印区域的左上角重合。
如果启用全页打印,则QPrinter坐标系的原点与纸张本身的左上角重合。在这种情况下,设备度量将报告与{QPageSize}指示相同的尺寸。由于打印机的边距,可能无法打印整个物理页面,因此应用程序必须自己计算边距。
另请参阅 fullPage(), QPagedPaintDevice::pageLayout()和QPagedPaintDevice::setPageSize。
void QPrinter::setOutputFileName(const QString &fileName)
设置输出文件名为 fileName。
设置空或空字符串(0或"")将禁用文件打印。设置非空字符串将启用文件打印。
这可能会改变 outputFormat 的值。如果文件名以 ".pdf" 后缀结尾,则生成 PDF。如果文件名没有 ".pdf" 后缀,则使用的输出格式是使用 setOutputFormat 设置的格式。
QPrinter 使用 Qt 的跨平台 PDF 打印引擎。如果您可以原生生成此格式,例如 macOS 可以从其打印引擎生成 PDF,请将输出格式设置为 NativeFormat。
另请参阅outputFileName() 和 setOutputFormat。
void QPrinter::setOutputFormat(QPrinter::OutputFormat format)
将此打印机的输出格式设置为 format。
如果 format 与当前设置的值相同,则不会进行更改。
如果 format 是 NativeFormat,则 printerName 将设置为默认打印机。如果没有配置有效的打印机,则不会进行更改。如果您希望使用特定的 printerName 设置 NativeFormat,请使用 setPrinterName。
另请参阅outputFormat() 和 setPrinterName。
void QPrinter::setPageOrder(QPrinter::PageOrder pageOrder)
将页面顺序设置为 pageOrder。
页面顺序可以是 QPrinter::FirstPageFirst 或 QPrinter::LastPageFirst。应用程序负责读取页面顺序并根据该顺序进行打印。
此函数大多用于设置用户可以在打印对话框中覆盖的默认值。
此函数仅支持 X11。
另请参阅pageOrder。
void QPrinter::setPaperSource(QPrinter::PaperSource source)
将纸张来源设置设置为 source。
Windows 仅支持:此选项可以在打印时更改,并将在下一次调用 newPage() 时生效。
另请参阅paperSource。
void QPrinter::setPdfVersion(QPagedPaintDevice::PdfVersion version)
将此打印机的 PDF 版本设置为 version。
如果 version 与当前设置的值相同,则不会进行更改。
另请参阅pdfVersion。
void QPrinter::setPrintProgram(const QString &printProg)
将打印作业应使用的程序名称设置为printProg。
在X11上,此函数设置调用PDF输出的程序。在其他平台上,它没有效果。
另见printProgram()。
void QPrinter::setPrintRange(QPrinter::PrintRange range)
将打印范围选项设置为range。
另见printRange()。
void QPrinter::setPrinterName(const QString &name)
设置打印机名称为name。
如果name为空,则输出格式将设置为PdfFormat。
如果name不是一个有效的打印机,则不会进行任何更改。
如果name是一个有效的打印机,则输出格式将设置为NativeFormat。
另见printerName(),isValid()和setOutputFormat()。
void QPrinter::setPrinterSelectionOption(const QString &option)
将打印机设置为使用option来选择打印机。默认情况下option为空(这意味着Qt应该足够智能,能够正确猜测),但也可以设置为其他值来使用特定的打印机选择选项。
如果打印机关闭时改变打印机选择选项,当前打印作业可能受到影响,也可能不受影响。
此函数在Windows或Mac上没有效果。
另见printerSelectionOption()和setPrintProgram()。
void QPrinter::setResolution(int dpi)
请求打印机以dpi或尽可能接近dpi的速度打印。
此设置会影响由例如QPainter::viewport()返回的坐标系统。
必须在所有平台上先调用QPainter::begin(),此函数才有作用。
另见resolution()和QPagedPaintDevice::setPageSize()。
QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
返回此打印机的支持的纸张大小。
值将是一个与QPrinter::PaperSource枚举中的条目相匹配的值或是一个驱动程序特定的值。驱动程序特定的值大于在wingdi.h中声明的常量DMBIN_USER。
警告:此函数仅在Windows中可用。
QList<int> QPrinter::supportedResolutions() const
返回打印机所支持的分辨率列表(一个包含每英寸点的整数的列表)。
对于所有直接打印到PDF的X11,此函数将始终返回一个只包含PDF分辨率的单项列表,即72(72 dpi – 但请参阅PrinterMode)。
布尔型 QPrinter::supportsMultipleCopies() const
如果打印机支持在一个作业中打印同一份文件的多份副本,则返回 true
;否则返回 false
。
在大多数系统中,此函数将返回 true
。然而,在X11系统中,如果不支持CUPS,此函数将返回 false
。这意味着应用程序必须通过多次打印同一份文件来处理副本数量。
另请参阅setCopyCount() 和 copyCount。
整数 QPrinter::toPage() const
返回要打印的页面范围中的最后一页的页码(“到页”设置)。文档中的页面按照惯例编号,第一页为第1页。
默认情况下,此函数返回一个特殊值0,表示“到页”设置未设置。
注意:如果 fromPage() 和 toPage() 都返回0,这表示 整个文档将被打印。
程序员负责读取此设置并根据相应的打印。
另请参阅setFromTo()、fromPage 和 pageRanges。
© 2024 The Qt Company Ltd. 本文档贡献是该权利人各自的版权。所提供的文档是根据自由软件基金会的发布并按照 GNU自由文档许可版本1.3 的条款所许可的。Qt及其相关标志是芬兰和/或世界其他地区的 The Qt Company Ltd. 的商标。所有其他商标均为其各自权利人的财产。