Qt 5.7.1 QPrinter 类中文翻译
目录
公有变量
公有函数
重载共有函数
Protected 函数
详细描述
QPrinter 类
QPrinter 类是一个在打印机上绘图的设备,使用时包含以下:
Header: #include
qmake(pro 文件): QT += printsupport
继承: QPagedPaintDevice
注:这个类的所有函数都是可以被重载的。
共有变量
enum ColorMode { Color, GrayScale }
enum
DuplexMode { DuplexNone, DuplexAuto, DuplexLongSide,
DuplexShortSide }
enum Orientation { Portrait, Landscape }
enum OutputFormat { NativeFormat, PdfFormat }
enum PageOrder { FirstPageFirst, LastPageFirst }
enum PaperSize { A0, A1, A2, A3, ..., LastPageSize }
enum
PaperSource { Auto, Cassette, Envelope,
EnvelopeManual, ..., LastPaperSource }
enum PrintRange { AllPages, Selection, PageRange, CurrentPage }
enum
PrinterMode { ScreenResolution, PrinterResolution,
HighResolution }
enum PrinterState { Idle, Active, Aborted, Error }
enum Unit { Millimeter, Point, Inch, Pica, ..., DevicePixel }
共有函数
QPrinter(PrinterMode mode = ScreenResolution)
QPrinter(const QPrinterInfo &printer,
PrinterMode mode = ScreenResolution)
~QPrinter()
bool abort()
bool collateCopies() const
ColorMode colorMode() const
int copyCount() const
QString creator() const
QString docName() const
DuplexMode duplex() const
bool fontEmbeddingEnabled() const
int fromPage() const
bool fullPage() const
bool isValid() const
QString outputFileName() const
OutputFormat outputFormat() const
QPageLayout pageLayout() const
PageOrder pageOrder() const
QRectF pageRect(Unit unit) const
QRectF paperRect(Unit unit) const
PaperSource paperSource() const
QPrintEngine * printEngine() const
QString printProgram() const
PrintRange printRange() const
QString printerName() const
QString printerSelectionOption() const
PrinterState printerState() const
int resolution() const
void setCollateCopies(bool collate)
void setColorMode(ColorMode newColorMode)
void setCopyCount(int count)
void setCreator(const QString &creator)
void setDocName(const QString &name)
void setDuplex(DuplexMode duplex)
void setFontEmbeddingEnabled(bool enable)
void setFromTo(int from, int to)
void setFullPage(bool fp)
void setOutputFileName(const QString &fileName)
void setOutputFormat(OutputFormat format)
bool setPageLayout(const QPageLayout &newLayout)
bool setPageMargins(const QMarginsF &margins)
bool
setPageMargins(const QMarginsF &margins,
QPageLayout::Unit units)
void setPageOrder(PageOrder pageOrder)
bool
setPageOrientation(QPageLayout::Orientation
orientation)
bool setPageSize(const QPageSize &pageSize)
void setPaperSource(PaperSource source)
void setPrintProgram(const QString &printProg)
void setPrintRange(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()
virtual QPaintEngine * paintEngine() const
(obsolete) virtual void setMargins(const Margins &m)
(obsolete) virtual void setPageSize(PageSize newPageSize)
(obsolete) virtual void setPageSizeMM(const QSizeF &size)
13 public functions inherited from QPagedPaintDevice
14 public functions inherited from QPaintDevice
Protected 函数
void
setEngines(QPrintEngine *printEngine, QPaintEngine
*paintEngine)
受保护类继承于 QPaintDevice
额外继承成员
1 protected type inherited from QPagedPaintDevice
1 protected type inherited from QPaintDevice
详细描述:
这种设备代表了一系列可以打印输出的页面,而且在使用上和 QWidget、
QPixmap 等绘图设备几乎完全相同。这个设备提供了一些额外的功能用于管理
特定设备的特性,例如:方向和分辨率、以及在生成文档时的预览功能。
当在 Windows 或 macOS 上直接打印打印机时,q 打印机使用内置打印机驱
动程序。在 X11 上,QPrinter 使用通用的 Unix 打印系统(CUPS)将 PDF 输出到
打印机。作为替代,printProgram()函数可用于指定要使用的命令或实用程
序,而不是系统默认值。
注意:在无效的打印机上设置诸如纸张大小和分辨率的参数是没有定义
的。您可以使用 QPrinter::isValid()函数在更改任何参数之前对其进行验
证。
QPrinter 支持许多参数,其中大多数参数可以通过打印对话框来更改。通
常,QPrinter 将这些功能传递给底层的 QPrintEngine。
最重要的参数如下:
setOrientation() 告诉 QPrinter 使用哪种纸张方向(横向、纵向)
setPaperSize() 告诉 QPrinter 打印机使用的纸张大小。
setResolution() 告诉 QPrinter 您希望打印机支持的分辨率是多少,
dots per inch (点每英寸)(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 Print Support.
成员变量文档
enum QPrinter::ColorMode
这个枚举类型用于指示 QPrinter 是否应该打印颜色。
变量
值 描述
QPrinter::Color
1
如果有的话,可以用彩色打印,否则是灰色的。
QPrinter::GrayScale 0
用灰度打印,甚至在彩色打印机上。
enum QPrinter::DuplexMode
该枚举用于表示打印是否会出现在每个纸张的一个或两侧(单面或双面打
印)。
Constant
Value Description
QPrinter::DuplexNone
QPrinter::DuplexAuto
0
1
单面打印
打印机的默认设置用于确定是否使用了
双面打印。
QPrinter::DuplexLongSide 2
双面打印,长边翻转
QPrinter::DuplexShortSide 3
双面打印,短边翻转
这个枚举变量在 Qt4.4 后引入和修改
enum QPrinter::Orientation
该枚举类型(不与方向混淆)用于指定每个页面的方向。
Constant
Value Description
QPrinter::Portrait
0
页面高度大于宽度(纵向)
QPrinter::Landscape 1
页面宽度大于高度(横向)
这个接口和 QPrinter::PaperSize、QPrinter::setFullPage()函数决定应
用程序可用页面的最终大小。
enum QPrinter::OutputFormat
OutputFormat 枚举被用于 QPrinter 打印输出的格式。
Constant
Value Description
QPrinter::NativeFormat 0
QPrinter::PdfFormat
1
QPrinter 将使用由其运行平台定义的方法
打印输出。当直接打印到打印机时,这种
模式是默认的
QPrinter 将生成它的输出作为可搜索的
PDF 文件。这种模式在打印到文件时是默
认的。
参见 outputFormat()、setOutputFormat()、和 setOutputFileName().
enum QPrinter::PageOrder
QPrinter 告诉应用程序程序如何打印。
Constant
Value Description
QPrinter::FirstPageFirst 0
最低编号的页面应该先打印出来
QPrinter::LastPageFirst 1
最高编号的页面应该先打印出来。
enum QPrinter::PaperSize
This enum type specifies what paper size QPrinter should use.
QPrinter does not check that the paper size is available; it just
uses this information, together with QPrinter::Orientation and
QPrinter::setFullPage(), to determine the printable area.