|
Qt 5.7.1 QPrinter****类中文翻译
|
目录
· 公有变量
· 公有函数
· 重载共有函数
· 详细描述
QPrinter 类
[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)类是一个在打印机上绘图的设备,使用时包含以下:
|
Header:
|
include <QPrinter>
|
|
qmake(pro文件):
|
QT += printsupport
|
|
继承:
|
|
注:这个类的所有函数都是可以被重载的。
共有变量
|
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)
|
| |
|
|
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<PaperSource>
|
supportedPaperSources() const
|
|
QList<int>
|
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](file:///C:\Users\Administrator\qtgui\qpaintdevice.html#protected-functions)
额外继承成员
· 1 protected type inherited from QPagedPaintDevice
· 1 protected type inherited from QPaintDevice
详细描述:
这种设备代表了一系列可以打印输出的页面,而且在使用上和[QWidget](file:///C:\Users\Administrator\qtwidgets\qwidget.html)、[QPixmap](file:///C:\Users\Administrator\qtgui\qpixmap.html)等绘图设备几乎完全相同。这个设备提供了一些额外的功能用于管理特定设备的特性,例如:方向和分辨率、以及在生成文档时的预览功能。
当在Windows或macOS上直接打印打印机时,q打印机使用内置打印机驱动程序。在X11上,[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)使用通用的Unix打印系统(CUPS)将PDF输出到打印机。作为替代,printProgram()函数可用于指定要使用的命令或实用程序,而不是系统默认值。
注意:在无效的打印机上设置诸如纸张大小和分辨率的参数是没有定义的。您可以使用[QPrinter::isValid](file:///C:\Users\Administrator\Desktop\qprinter.html#isValid)()函数在更改任何参数之前对其进行验证。
[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)支持许多参数,其中大多数参数可以通过打印对话框来更改。通常,[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)将这些功能传递给底层的QPrintEngine。
最重要的参数如下:
l setOrientation() 告诉QPrinter 使用哪种纸张方向(横向、纵向)
l setPaperSize() 告诉QPrinter 打印机使用的纸张大小。
l setResolution() 告诉 QPrinter 您希望打印机支持的分辨率是多少, dots per inch (点每英寸)(DPI)。
l setFullPage() 告诉 QPrinter您是想用整个页面还是打印机可以利用的页面。
l setCopyCount() 告诉 QPrinter 应该打印多少份文档
许多函数只能在实际的打印开始之前调用(例如:在QPainter::begin()之前被调用)。这通常是有意义的,举例来说,当你完成了一半的印刷工作时,不可能改变副本的数量。还有一些用户设置的设置(通过打印机对话框),并且应用程序应该遵守。有关更多细节,请参阅QAbstractPrintDialog的文档。
当[QPainter::begin](file:///C:\Users\Administrator\qtgui\qpainter.html#begin)()函数被调用时,它所操作的[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)已经为一个新页面准备好了,使得QPainter可以立即被用来绘制文档的第一页。在第一个页面被绘制之后,可以调用newPage()函数来请求一个新的空白页面,或者[QPainter::end](file:///C:\Users\Administrator\qtgui\qpainter.html#end)()可以被调用来完成打印。第二个页面和所有的页面都是在它们被绘制之前使用一个调用newPage()来准备的。
文档中的第一个页面不需要在对newPage()函数调用之前进行。您只需要在[QPainter::begin](file:///C:\Users\Administrator\qtgui\qpainter.html#begin)()之后调用newPage(),如果您需要在一个打印文档的开头插入一个空白的页面。类似地,在文档的最后一页之后调用newPage()将会在打印文档的末尾添加一个末尾的空白页面。
如果您想要中止打印作业,[abort](file:///C:\Users\Administrator\Desktop\qprinter.html#abort)()函数将尽力停止打印。它可能会取消整个工作,或者只是一部分。由于[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)可以打印到任何QPrintEngine子类,因此可以通过子类化QPrintEngine并重载它的接口来扩展打印支持以覆盖新类型的打印子系统。
参见 QPrintDialog 和 Qt Print Support.
成员变量文档
enum QPrinter::ColorMode
这个枚举类型用于指示[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)是否应该打印颜色。
|
变量
|
值
|
描述
|
|
QPrinter::Color
|
1
|
如果有的话,可以用彩色打印,否则是灰色的。
|
|
QPrinter::GrayScale
|
0
|
用灰度打印,甚至在彩色打印机上。
|
enum QPrinter::DuplexMode
该枚举用于表示打印是否会出现在每个纸张的一个或两侧(单面或双面打印)。
|
Constant
|
Value
|
Description
|
|
QPrinter::DuplexNone
|
0
|
单面打印
|
|
QPrinter::DuplexAuto
|
1
|
打印机的默认设置用于确定是否使用了双面打印。
|
|
QPrinter::DuplexLongSide
|
2
|
双面打印,长边翻转
|
|
QPrinter::DuplexShortSide
|
3
|
双面打印,短边翻转
|
这个枚举变量在Qt4.4后引入和修改
enum QPrinter::Orientation
该枚举类型(不与方向混淆)用于指定每个页面的方向。
|
Constant
|
Value
|
Description
|
|
QPrinter::Portrait
|
0
|
页面高度大于宽度(纵向)
|
|
QPrinter::Landscape
|
1
|
页面宽度大于高度(横向)
|
这个接口和[QPrinter::PaperSize](file:///C:\Users\Administrator\Desktop\qprinter.html#PaperSize-enum)、[QPrinter::setFullPage](file:///C:\Users\Administrator\Desktop\qprinter.html#setFullPage)()函数决定应用程序可用页面的最终大小。
enum QPrinter::OutputFormat
OutputFormat枚举被用于[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)打印输出的格式。
|
Constant
|
Value
|
Description
|
|
QPrinter::NativeFormat
|
0
|
QPrinter 将使用由其运行平台定义的方法打印输出。当直接打印到打印机时,这种模式是默认的
|
|
QPrinter::PdfFormat
|
1
|
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.
这个枚举类型指定了[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)应该使用的纸张大小。[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)没有检查纸张的大小是否可用;它只使用这些信息,和QPrinter::Orientation、[QPrinter::setFullPage](file:///C:\Users\Administrator\Desktop\qprinter.html#setFullPage)()一起确定可打印区域。
|
变量
|
值
|
描述
|
|
QPrinter::A0
|
5
|
841 x 1189 mm
|
|
QPrinter::A1
|
6
|
594 x 841 mm
|
|
QPrinter::A2
|
7
|
420 x 594 mm
|
|
QPrinter::A3
|
8
|
297 x 420 mm
|
|
QPrinter::A4
|
0
|
210 x 297 mm, 8.26 x 11.69 inches
|
|
QPrinter::A5
|
9
|
148 x 210 mm
|
|
QPrinter::A6
|
10
|
105 x 148 mm
|
|
QPrinter::A7
|
11
|
74 x 105 mm
|
|
QPrinter::A8
|
12
|
52 x 74 mm
|
|
QPrinter::A9
|
13
|
37 x 52 mm
|
|
QPrinter::B0
|
14
|
1000 x 1414 mm
|
|
QPrinter::B1
|
15
|
707 x 1000 mm
|
|
QPrinter::B2
|
17
|
500 x 707 mm
|
|
QPrinter::B3
|
18
|
353 x 500 mm
|
|
QPrinter::B4
|
19
|
250 x 353 mm
|
|
QPrinter::B5
|
1
|
176 x 250 mm, 6.93 x 9.84 inches
|
|
QPrinter::B6
|
20
|
125 x 176 mm
|
|
QPrinter::B7
|
21
|
88 x 125 mm
|
|
QPrinter::B8
|
22
|
62 x 88 mm
|
|
QPrinter::B9
|
23
|
33 x 62 mm
|
|
QPrinter::B10
|
16
|
31 x 44 mm
|
|
QPrinter::C5E
|
24
|
163 x 229 mm
|
|
QPrinter::Comm10E
|
25
|
105 x 241 mm, U.S. Common 10 Envelope
|
|
QPrinter::DLE
|
26
|
110 x 220 mm
|
|
QPrinter::Executive
|
4
|
7.5 x 10 inches, 190.5 x 254 mm
|
|
QPrinter::Folio
|
27
|
210 x 330 mm
|
|
QPrinter::Ledger
|
28
|
431.8 x 279.4 mm
|
|
QPrinter::Legal
|
3
|
8.5 x 14 inches, 215.9 x 355.6 mm
|
|
QPrinter::Letter
|
2
|
8.5 x 11 inches, 215.9 x 279.4 mm
|
|
QPrinter::Tabloid
|
29
|
279.4 x 431.8 mm
|
|
QPrinter::Custom
|
30
|
Unknown, or a user defined size.
|
|
QPrinter::A10
|
31
| |
|
QPrinter::A3Extra
|
32
| |
|
QPrinter::A4Extra
|
33
| |
|
QPrinter::A4Plus
|
34
| |
|
QPrinter::A4Small
|
35
| |
|
QPrinter::A5Extra
|
36
| |
|
QPrinter::B5Extra
|
37
| |
|
QPrinter::JisB0
|
38
| |
|
QPrinter::JisB1
|
39
| |
|
QPrinter::JisB2
|
40
| |
|
QPrinter::JisB3
|
41
| |
|
QPrinter::JisB4
|
42
| |
|
QPrinter::JisB5
|
43
| |
|
QPrinter::JisB6
|
44
|
,
|
|
QPrinter::JisB7
|
45
| |
|
QPrinter::JisB8
|
46
| |
|
QPrinter::JisB9
|
47
| |
|
QPrinter::JisB10
|
48
| |
|
QPrinter::AnsiA
|
Letter
|
= Letter
|
|
QPrinter::AnsiB
|
Ledger
|
= Ledger
|
|
QPrinter::AnsiC
|
49
| |
|
QPrinter::AnsiD
|
50
| |
|
QPrinter::AnsiE
|
51
| |
|
QPrinter::LegalExtra
|
52
| |
|
QPrinter::LetterExtra
|
53
| |
|
QPrinter::LetterPlus
|
54
| |
|
QPrinter::LetterSmall
|
55
| |
|
QPrinter::TabloidExtra
|
56
| |
|
QPrinter::ArchA
|
57
| |
|
QPrinter::ArchB
|
58
| |
|
QPrinter::ArchC
|
59
| |
|
QPrinter::ArchD
|
60
| |
|
QPrinter::ArchE
|
61
| |
|
QPrinter::Imperial7x9
|
62
| |
|
QPrinter::Imperial8x10
|
63
| |
|
QPrinter::Imperial9x11
|
64
| |
|
QPrinter::Imperial9x12
|
65
| |
|
QPrinter::Imperial10x11
|
66
| |
|
QPrinter::Imperial10x13
|
67
| |
|
QPrinter::Imperial10x14
|
68
| |
|
QPrinter::Imperial12x11
|
69
| |
|
QPrinter::Imperial15x11
|
70
| |
|
QPrinter::ExecutiveStandard
|
71
| |
|
QPrinter::Note
|
72
| |
|
QPrinter::Quarto
|
73
| |
|
QPrinter::Statement
|
74
| |
|
QPrinter::SuperA
|
75
| |
|
QPrinter::SuperB
|
76
| |
|
QPrinter::Postcard
|
77
| |
|
QPrinter::DoublePostcard
|
78
| |
|
QPrinter::Prc16K
|
79
| |
|
QPrinter::Prc32K
|
80
| |
|
QPrinter::Prc32KBig
|
81
| |
|
QPrinter::FanFoldUS
|
82
| |
|
QPrinter::FanFoldGerman
|
83
| |
|
QPrinter::FanFoldGermanLegal
|
84
| |
|
QPrinter::EnvelopeB4
|
85
| |
|
QPrinter::EnvelopeB5
|
86
| |
|
QPrinter::EnvelopeB6
|
87
| |
|
QPrinter::EnvelopeC0
|
88
| |
|
QPrinter::EnvelopeC1
|
89
| |
|
QPrinter::EnvelopeC2
|
90
| |
|
QPrinter::EnvelopeC3
|
91
| |
|
QPrinter::EnvelopeC4
|
92
| |
|
QPrinter::EnvelopeC5
|
C5E
|
= C5E
|
|
QPrinter::EnvelopeC6
|
93
| |
|
QPrinter::EnvelopeC65
|
94
| |
|
QPrinter::EnvelopeC7
|
95
| |
|
QPrinter::EnvelopeDL
|
DLE
|
= DLE
|
|
QPrinter::Envelope9
|
96
| |
|
QPrinter::Envelope10
|
Comm10E
|
= Comm10E
|
|
QPrinter::Envelope11
|
97
| |
|
QPrinter::Envelope12
|
98
| |
|
QPrinter::Envelope14
|
99
| |
|
QPrinter::EnvelopeMonarch
|
100
| |
|
QPrinter::EnvelopePersonal
|
101
| |
|
QPrinter::EnvelopeChou3
|
102
| |
|
QPrinter::EnvelopeChou4
|
103
| |
|
QPrinter::EnvelopeInvite
|
104
| |
|
QPrinter::EnvelopeItalian
|
105
| |
|
QPrinter::EnvelopeKaku2
|
106
| |
|
QPrinter::EnvelopeKaku3
|
107
| |
|
QPrinter::EnvelopePrc1
|
108
| |
|
QPrinter::EnvelopePrc2
|
109
| |
|
QPrinter::EnvelopePrc3
|
110
| |
|
QPrinter::EnvelopePrc4
|
111
| |
|
QPrinter::EnvelopePrc5
|
112
| |
|
QPrinter::EnvelopePrc6
|
113
| |
|
QPrinter::EnvelopePrc7
|
114
| |
|
QPrinter::EnvelopePrc8
|
115
| |
|
QPrinter::EnvelopePrc9
|
116
| |
|
QPrinter::EnvelopePrc10
|
117
| |
|
QPrinter::EnvelopeYou4
|
118
| |
|
QPrinter::LastPageSize
|
EnvelopeYou4
|
= EnvelopeYou4
|
使用setFullPage(false)(默认),指标将会小一些;实际大小取决于使用的打印机。
由于历史原因,[QPageSize::Executive](file:///C:\Users\Administrator\qtgui\qpagesize.html#PageSizeId-enum)和标准的Postscript、Windows执行大小是不一样的,使用[QPageSize::ExecutiveStandard](file:///C:\Users\Administrator\qtgui\qpagesize.html#PageSizeId-enum)代替。
Postscript标准尺寸[QPageSize::Folio](file:///C:\Users\Administrator\qtgui\qpagesize.html#PageSizeId-enum)和windows 的DMPAPER_FOLIO尺寸是不同,如果需要使用Postscript标准尺寸[QPageSize::FanFoldGermanLegal](file:///C:\Users\Administrator\qtgui\qpagesize.html#PageSizeId-enum)。
这个枚举变量 Qt 4.4.后引入和修改
enum QPrinter::PaperSource
This enum type specifies what paper source QPrinter is to use. QPrinter does not check that the paper source is available; it just uses this information to try and set the paper source. Whether it will set the paper source depends on whether the printer has that particular source.
这个枚举类型指定了QPrinter要使用的文件源。[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)不检查文件来源是否可用;它只是使用这些信息来设置文件源。它是否会设置纸张来源取决于打印机是否有这个特定的来源。
警告: 这一操作目前只在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
|
最高有效的文件源值,当前定制源
|
enum QPrinter::PrintRange
用于指定打印范围的选择选项。
|
变量
|
值
|
描述
|
|
QPrinter::AllPages
|
0
|
打印所有页
|
|
QPrinter::Selection
|
1
|
仅打印选择的页
|
|
QPrinter::PageRange
|
2
|
打印指定范围页面
|
|
QPrinter::CurrentPage
|
3
|
仅打印当前页
|
参见: setPrintRange(), printRange(), 和QAbstractPrintDialog::PrintRange。
enum QPrinter::PrinterMode
这个枚举描述了打印机应该使用的模式。它基本上设定了一个特定的分辨率和工作模式。
|
变量
|
值
| |
描述
|
|
QPrinter::ScreenResolution
|
0
| |
将打印设备的分辨率设置为屏幕分辨率。这有一个很大的优势,当在打印机上绘画时所得到的结果将与屏幕上的可见输出匹配得多或少。它是最容易使用的,因为屏幕上的字体和打印机是一样的。这是默认值。与高分辨率相比,屏幕分辨率将会产生较低的质量输出,并且只能用于草稿。
|
|
QPrinter::PrinterResolution
|
1
| |
这个值是弃用。这相当于在Unix和Windows和Mac上的屏幕分辨率,由于屏幕分辨率和高分辨率的差异,使用该值可能导致不可移植的打印机代码。
|
|
QPrinter::HighResolution
|
2
| |
在Windows上,将打印机解析设置为已定义的打印机使用。对于PDF打印,将PDF驱动程序的分辨率设置为1200 dpi。
|
注: 当在QPrinter设备上呈现文本时,知道文本的大小是很重要的,当在点中指定,它将独立于设备本身指定的分辨率。因此将文本和图形结合起来以确保他们的相对大小是咱们所期望的大小,可以用像素指定字体的大小。
enum QPrinter::PrinterState
|
变量
|
值
|
|
QPrinter::Idle
|
0
|
|
QPrinter::Active
|
1
|
|
QPrinter::Aborted
|
2
|
|
QPrinter::Error
|
3
|
enum 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英寸的1/72英寸,而DevicePixel单元是基于分辨率的,它基于打印机上的实际像素点或点。
Qt 4.4.后引入这个枚举变量
成员函数
QPrinter::QPrinter(PrinterMode mode = ScreenResolution)
使用给定的模式创建一个新的打印机对象。
QPrinter::QPrinter(const QPrinterInfo &printer, PrinterMode mode = ScreenResolution)
使用给定的printer和模式创建一个新的打印机对象。
QPrinter::~QPrinter()
销毁打印机对象并释放任何已分配的资源。如果打印机被破坏了,而打印作业正在进行中,这可能会影响打印作业。
bool QPrinter::abort()
终止当前的打印作业。如果打印作业成功被终止,[printerState](file:///C:\Users\Administrator\Desktop\qprinter.html#printerState)()将返回[QPrinter::Aborted](file:///C:\Users\Administrator\Desktop\qprinter.html#PrinterState-enum);否则返回false。
放弃打印作业并不总是可行的。例如,所有的数据都被打印到打印机上,但是打印机不能或不能在被要求时取消工作。
bool QPrinter::collateCopies() const
如果在选择多个副本时进行排序,则返回true。如果在选择多个副本时被关闭,则返回false。当排序被关闭时,每个页面的打印将在下一个页面开始之前重复使用numCopies()数量。将所有页面都打印出来,然后在这些页面的下一个副本开始之前打印。
Qt 4.1.引入这个函数
参见 setCollateCopies().
ColorMode QPrinter::colorMode() const
返回当前的颜色模式。
参见: setColorMode().
int QPrinter::copyCount() const
返回将要打印的副本的数量。默认值是1。
Qt 4.7引入
参见 setCopyCount()、supportsMultipleCopies().
QString QPrinter::creator() const
返回创建该文档的应用程序的名称。参见 setCreator().
QString QPrinter::docName() const
返回文档名称
参见setDocName()、 QPrintEngine::PrintEnginePropertyKey.
DuplexMode QPrinter::duplex() const
返回当前的双工模式。
Qt 4.4引入
参见 setDuplex().
bool QPrinter::fontEmbeddingEnabled() const
如果启用了字体嵌入,则返回true。
Qt 4.1引入
参见 setFontEmbeddingEnabled().
int QPrinter::fromPage() const
返回要打印的一系列页面的第一个页面的数量(“从页面”设置)。文档中的页面按惯例编号,第一个页面是第1页。
默认情况下,该函数返回一个值为0的特殊值,这意味着“from page”设置是未设置的。
注: 如果fromPage()和toPage() 都返回0, 这表明整个文档将被打印出来
Qt 4.1引入
bool QPrinter::fullPage() const
如果打印机坐标系统的原点在页面的角落,则返回true;如果它位于可打印区域的边缘返回false。
详细信息和注意事项参见setFullPage()。
参见setFullPage() 、pageLayout().
bool QPrinter::isValid() const
如果当前选择的打印机是系统中的有效打印机,或者纯PDF打印机,则返回true;否则返回false。
要监测其他错误,请检查[QPainter::begin](file:///C:\Users\Administrator\qtgui\qpainter.html#begin)() 或者 [QPrinter::newPage](file:///C:\Users\Administrator\Desktop\qprinter.html#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();
Qt 4.4引入
参见 setPrinterName().
[virtual] bool QPrinter::newPage()
继承于 QPagedPaintDevice::newPage().
告诉打印机弹出当前页面,并继续在一个新页面上打印。如果这是成功的,则返回true;否则返回false。
在一个没有暂停的[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)类上调用总会失败
QString QPrinter::outputFileName() const
返回输出文件的名称。默认情况下,这是一个空字符串(表明打印机不应该打印到文件)。
参加setOutputFileName()、QPrintEngine::PrintEnginePropertyKey.
OutputFormat QPrinter::outputFormat() const
返回该打印机的输出格式。
Qt 4.1引入
参见setOutputFormat().
QPageLayout QPrinter::pageLayout() const
返回当前页面布局。使用该方法访问当前 QPageSize, QPageLayout::Orientation, QMarginsF, fullPageRect() and paintRect()。
注意,不能在返回的对象上使用setter, 必须调用the QPrinter方法或者 setPageLayout().
Qt 5.3引入
参见setPageLayout()、 setPageSize()、 setPageOrientation()、setPageMargins()。
PageOrder QPrinter::pageOrder() const
返回当前的页面顺序。
默认的页面顺序是 FirstPageFirst.
参见 setPageOrder().
QRectF QPrinter::pageRect(Unit unit) const
在单元中返回页面的矩形;这通常比paperRect()要小,因为页面通常在边界和纸张之间有边界。
Qt 4.4引入
参见paperSize().
[virtual] QPaintEngine QPrinter::paintEngine*() const
继承于 QPaintDevice::paintEngine()。
返回打印机使用的打印引擎
QRectF QPrinter::paperRect(Unit unit) const
在单位中返回纸张的矩形, 通常比pageRect()返回的要大
Qt 4.4引入
参见pageRect().
PaperSource QPrinter::paperSource() const
返回打印机的纸张来源。这是手动的,或打印机的托盘或纸盒。
参见setPaperSource().
QPrintEngine QPrinter::printEngine*() const
返回打印机使用的打印引擎。
Qt 4.1引入
QString QPrinter::printProgram() const
返回将打印输出发送到打印机的程序名称。
默认情况是返回一个空字符串;意味着[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html) 将尝试使用系统相关的方法。在X11上,您可以将其设置为不同的使用特定的打印程序。在其他平台上,这将返回一个空字符串。
参见setPrintProgram()、setPrinterSelectionOption().
PrintRange QPrinter::printRange() const
返回[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)的页面范围。在打印安装对话框打开后,该函数返回用户选择的值。
Qt 4.1引入
参见setPrintRange().
QString QPrinter::printerName() const
返回打印机的名称。这个值最初设置为默认打印机的名称。
参见setPrinterName().
QString QPrinter::printerSelectionOption() const
返回打印机选项选择字符串。只有当打印命令被显式设置时才有用。
默认值(空字符串)意味着打印机应该以系统相关的方式选择。
任何其他值都意味着应该使用给定的值。
这个函数总是在Windows和Mac上返回一个空字符串。
参见 setPrinterSelectionOption()、setPrintProgram().
PrinterState QPrinter::printerState() const
返回打印机的当前状态。这可能并不总是准确的(例如,如果打印机没有将其状态报告给操作系统的能力)。
int QPrinter::resolution() const
返回当前打印机设定的分辨率,由[setResolution](file:///C:\Users\Administrator\Desktop\qprinter.html#setResolution)()和打印机驱动设置。
参见setResolution().
void QPrinter::setCollateCopies(bool collate)
当打印对话框出现时,设置排序复选框的默认值。如果collate是真,它将使setCollateCopiesEnabled()可用。默认值是false。该值将由用户在打印对话框中按下的内容进行更改。
Qt 4.1引入
参见collateCopies().
void QPrinter::setColorMode(ColorMode newColorMode)
设置打印机的颜色模式为newColorMode,可以使彩色(Color)或者灰色的(GrayScale)。
参见colorMode()。
void QPrinter::setCopyCount(int count)
设置打印的副本数用以计数。打印机驱动程序读取该设置并打印指定的副本数量。
Qt 4.7引入
参见 copyCount()、supportsMultipleCopies().
void QPrinter::setCreator(const QString &creator)
将创建该文档的应用程序的名称设置为创建者。
这个函数只适用于Qt的X11版本,如果没有指定创建者的名字,那么创建者将被设置为“Qt”,后面是一些版本号。
参见creator().
void QPrinter::setDocName(const QString &name)
将文档名设置为名称。
在X11上,文档名是在QPrintDialog中作为默认输出文件名使用的。注意,如果打印机打印到文件,文档名不会影响文件名。为此,使用setOutputFile()函数。
参见 docName() 、 QPrintEngine::PrintEnginePropertyKey.
void QPrinter::setDuplex(DuplexMode duplex)
基于双工模式的双面打印。
Qt 4.4引入
参见duplex().
[protected] void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)的子类使用这个函数指定特定的打印和绘制引擎(printEngine 和paintEngine)
QPrinter 不接受引擎的所有权, 所以您需要自己管理这些引擎实例。
注意更改引擎将重置打印机状态及其所有属性。
Qt 4.1引入
参见printEngine()、paintEngine()、 setOutputFormat().
void QPrinter::setFontEmbeddingEnabled(bool enable)
启用或禁用字体,取决于启用。
Qt 4.1引入
参见fontEmbeddingEnabled().
void QPrinter::setFromTo(int from, int to)
设置要打印的页面的范围以覆盖页面,其中包含from和to的数字,from对应到范围的第一个页面,to对应最后一个页面。
注意: 文档中的页面按惯例编号,第一个页面是第1页。但是,如果from和to到都设置为0,那么整个文档将被打印出来。这个函数主要用于设置默认值,当您调用setup()时,用户可以在print对话框中覆盖该值。
Qt 4.1引入
void QPrinter::setFullPage(bool fp)
如果fp是真的,可以支持整个页面上的绘画;否则,将绘画限制在设备所报告的可打印区域。
默认情况下,完全页面打印是禁用的。在这种情况下,[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)的坐标系统的原点与可打印区域的左上角相一致。
如果启用了全页打印,那么[QPrinter](file:///C:\Users\Administrator\Desktop\qprinter.html)的坐标系统的原点就与纸张本身的左上角相一致。在这种情况下,设备指标将报告与PaperSize所示的完全相同的维度。由于打印机的边缘,在整个物理页面上打印可能是不可能的,所以应用程序必须考虑到页边距。
参见fullPage(), pageLayout(), setPageSize(), width()、height().
void QPrinter::setOutputFileName(const QString &fileName)
将输出文件的名称设置为fileName。
设置一个null或空的名称(0或“”)禁用打印到文件。设置一个非空的名称可以打印到一个文件。
这个可以改变outputFormat()的值。如果文件名中有”.pdf”,后缀pdf是生成的,如果文件名有一个后缀,但是后缀不是pdf,使用的输出格式和[setOutputFormat](file:///C:\Users\Administrator\Desktop\qprinter.html#setOutputFormat)() 一组。
QPrinter分别使用Qt的跨平台的PDF打印引擎。如果您可以本地生成这种格式,例如macOS可以从它的打印引擎生成PDF,将输出格式设置回NativeFormat。
参见 outputFileName()、setOutputFormat().
void QPrinter::setOutputFormat(OutputFormat format)
设置此打印机的输出格式。
果格式与当前设置的值相同,那么就不会更改。
如果格式是NativeFormat,那么printerName将被设置为缺省打印机。如果没有配置有效的打印机,那么就不会做出任何更改。如果您想使用特定的printerName设置NativeFormat,那么可以使用setPrinterName()。
Qt 4.1引入
参见outputFormat()、setPrinterName().
bool QPrinter::setPageLayout(const QPageLayout &newLayout)
将页面布局设置为 newLayout。
如果newLayout对当前打印机无效,那么页面布局将不会被更改。例如,如果页面大小不受打印机的支持,或者页边距可打印区域之外。
如果页面布局成功地设置为newLayout,则返回true。
Qt 5.3引入
参见pageLayout(), setPageSize(), setPageOrientation(), and setPageMargins().
bool QPrinter::setPageMargins(const QMarginsF &margins)
使用当前的单元将页边距设置为页边距。如果页面的边缘设置成功,则返回true。
参见pageLayout() and setPageLayout().
bool QPrinter::setPageMargins(const QMarginsF &margins, QPageLayout::Unit units)
在给定的单元中设置页边距。如果没有提供单元,则使用当前单元。
如果在全页模式下,那么在页边距上就不会执行任何检查,否则页宽必须在当前打印机的页大小可打印区域内。
要获得当前页页的页边距,使用pageLayout().pageMargins()。如果页面的页边距被成功设置为页边距,则返回true。
Qt 5.3引入
参见pageLayout() and setPageLayout().
void QPrinter::setPageOrder(PageOrder pageOrder)
将页面顺序设置为 pageOrder。
页面顺序可以是 QPrinter::FirstPageFirst or QPrinter::LastPageFirst. 应用程序负责读取页面的顺序和打印。
这个函数主要用于设置用户可以在打印对话框中覆盖的默认值。此函数仅在X11下支持。
参见pageOrder().
bool QPrinter::setPageOrientation(QPageLayout::Orientation orientation)
设置页面朝向QPageLayout::Portrait or QPageLayout::Landscape。
打印机驱动程序读取这个设置并使用指定的方向打印页面。
在Windows和Mac上,这个选项可以在打印时进行更改,并从下一个调用到newPage()中生效。
获取 QPageLayout::Orientation 使用pageLayout().pageOrientation().
如果页面方向成功地设置为朝向,则返回true。
Qt 5.3引入
参见pageLayout() and setPageLayout().
bool QPrinter::setPageSize(const QPageSize &pageSize)
将页面大小设置为pageSize。
如果pageSize对当前打印机无效,那么页面大小将不会被更改。
改变页面大小如果超出了当前打印机新页面的大小可能会影响当前页面的页边距。
要获得当前的QPageSize使用pageLayout().pageSize()。
如果页面大小成功地设置为pageSize,则返回true。
Qt 5.3引入
参见pageSize(), pageLayout(), and setPageLayout().
void QPrinter::setPaperSource(PaperSource source)
将文件源设置设置为 source。
仅Windows:这个选项在打印时可以被改变,并且在下次调用newPage()生效。
参见 paperSource().
void QPrinter::setPrintProgram(const QString &printProg)
设置应该执行打印作业的程序的名称到printProg。
在X11上,这个函数设置了使用PDF输出调用的程序。在其他平台上,它没有效果。
参见printProgram().
void QPrinter::setPrintRange(PrintRange range)
设置打印范围选项 range.
Qt 4.1引入
See also printRange().
void QPrinter::setPrinterName(const QString &name)
设置打印机名为 name.
如果名称为空,则输出格式将被设置为PdfFormat。
如果名称不是有效的打印机,那么就不会有任何更改。如果名称是有效的打印机,那么输出格式将被设置为NativeFormat。
参见printerName(), isValid(), and setOutputFormat().
void QPrinter::setPrinterSelectionOption(const QString &option)
设置打印机使用选项来选择打印机。默认情况下,选项是null(这意味着Qt应该足够聪明,可以正确猜测),但是可以将它设置为使用特定的打印机选择选项的其他值。
如果打印机选择选项在打印机激活时被更改,那么当前的打印作业可能也不会受到影响。
这个函数对Windows或Mac没有影响。
参见 printerSelectionOption() and setPrintProgram().
void QPrinter::setResolution(int dpi)
请求打印机在dpi或者尽可能接近dpi上打印。
这个设置会影响到所返回的坐标系统,例如 QPainter::viewport().
这个函数必须在[QPainter::begin](file:///C:\Users\Administrator\qtgui\qpainter.html#begin)()之前调用以对所有平台有效。
参见 resolution() 、setPaperSize().
QList<PaperSource> QPrinter::supportedPaperSources() const
返回该打印机所支持的纸张大小。
这个值既可以是[QPrinter::PaperSource](file:///C:\Users\Administrator\Desktop\qprinter.html#PaperSource-enum)中枚举的一个条目,也可以是驱动指定的值,驱动程序的参数值大于在wingdi.h中声明的常量DMBIN_USER。
警告: 这个函数只能在 windows中使用。
QList<int> QPrinter::supportedResolutions() const
返回一个分辨率的列表(一个每英寸的整数的列表),打印机表示它支持这个列表。
对于X11来说,所有的打印都是直接到PDF的,这个函数将总是返回一个只包含PDF分辨率的条目列表。72(72 dpi,但请参阅PrinterMode)。
bool QPrinter::supportsMultipleCopies() const
如果打印机支持在同一作业中打印同一文档的多个副本,则返回true;否则返回假。在大多数系统中,这个函数将返回true。但是,对于不支持CUPS的X11系统,该函数将返回false。这意味着应用程序必须通过打印同一文档所需的次数来处理副本的数量。
Qt 4.7引入
参见setCopyCount()、 copyCount().
int QPrinter::toPage() const
返回要打印的一系列页面的最后一页的数量(“to page”设置)。文档中的页面按惯例编号,第一个页面是第1页。
默认情况下,该函数返回一个值为0的特殊值,这意味着“to page”设置是未设置的。
注意:如果fromPage()和toPage()都返回0,这表明整个文档将被打印。
程序员负责阅读这个设置和打印。
Qt 4.1引入