QPageSize 类
QPageSize 类描述了定义的页面大小及其名称。 更多...
头文件 | #include <QPageSize> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
公共类型
枚举 | PageSizeId { A0, A1, A2, A3, A4, …, LastPageSize } |
枚举 | SizeMatchPolicy { FuzzyMatch, FuzzyOrientationMatch, ExactMatch } |
枚举 | Unit { Millimeter, Point, Inch, Pica, Didot, Cicero } |
公共函数
QPageSize() | |
QPageSize(QPageSize::PageSizeId pageSize) | |
QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch) | |
QPageSize(const QSizeF &size, QPageSize::Unit units, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch) | |
QPageSize(const QPageSize &other) | |
~QPageSize() | |
QSizeF | definitionSize() const |
QPageSize::Unit | definitionUnits() const |
QPageSize::PageSizeId | id() const |
bool | isEquivalentTo(const QPageSize &other) const |
bool | isValid() const |
QString | key() const |
QString | name() const |
QRectF | rect(QPageSize::Unit units) const |
QRect | rectPixels(int resolution) const |
QRect | rectPoints() const |
QSizeF | size(QPageSize::Unit units) const |
QSize | sizePixels(int resolution) const |
QSize | sizePoints() const |
void | swap(QPageSize &other) |
int | windowsId() const |
QPageSize & | operator=(QPageSize &&other) |
QPageSize & | operator=(const QPageSize &other) |
静态公共成员
QSizeF | definitionSize(QPageSize::PageSizeId pageSizeId) |
QPageSize::Unit | definitionUnits(QPageSize::PageSizeId pageSizeId) |
QPageSize::PageSizeId | id(const QSize &pointSize, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch) |
QPageSize::PageSizeId | id(const QSizeF &size, QPageSize::Unit units, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch) |
QPageSize::PageSizeId | id(int windowsId) |
QString | key(QPageSize::PageSizeId pageSizeId) |
QString | name(QPageSize::PageSizeId pageSizeId) |
QSizeF | size(QPageSize::PageSizeId pageSizeId, QPageSize::Unit units) |
QSize | sizePixels(QPageSize::PageSizeId pageSizeId, int resolution) |
QSize | sizePoints(QPageSize::PageSizeId pageSizeId) |
int | windowsId(QPageSize::PageSizeId pageSizeId) |
相关非成员
bool | operator!=(const QPageSize &lhs, const QPageSize &rhs) |
bool | operator==(const QPageSize &lhs, const QPageSize &rhs) |
详细说明
此类实现了对Adobe Postscript PPD标准v4.3中定义的一组标准页面尺寸的支持。它定义了以点、毫米和英寸为单位的标准的页面尺寸集合,并确保这些尺寸得到一致使用。也可以使用其他尺寸单位,但将为计算结果,因此可能并非始终一致。定义的点尺寸总是整数,其他尺寸可以是单位的分数。
定义的尺寸总是以宽度 x 高度顺序,没有隐含的页面方向。请注意,定义页面尺寸时,宽度可能大于高度,例如 QPageSize::Ledger,因此不能依靠比较宽度和高度值来确定页面方向。
例如,A4按标准定义为210mm x 297mm,8.27in x 11.69in,或595pt x 842pt。
您还可以定义具有自定义名称的自定义页面尺寸和任何您想要的单位,并将此单位尺寸保留并用作其他单位尺寸计算的基础。
在创建使用自定义QSize的QPageSize时,可以选择QPageSize是否尝试将大小匹配到标准页面尺寸。默认情况下,QPaperSize使用FuzzyMatch模式,即如果给定的页面尺寸与定义的标准尺寸在3个Postscript点之内,则将其匹配到标准页面尺寸。您可以覆盖此要求以请求仅进行精确匹配,但这不建议这样做,因为单位之间的转换可以轻松丢失3个点,导致页面尺寸不正确。
您还可以通过查询打印设备的支持的页面尺寸来获取QPageSize实例。在这种情况下,返回的本地化名称是打印机本身定义的。请注意,打印设备可能不支持当前默认的区域设置语言。
此类还提供了将页面尺寸ID转换为各种尺寸并从这些尺寸转换回ID的便利方法。
另请参阅 QPagedPaintDevice 和 QPdfWriter。
成员类型文档
enum QPageSize::PageSizeId
此枚举类型列出了根据Postscript PPD标准定义的可用的页面尺寸。这些值在QPagedPaintDevice和QPrinter中重复。
定义的尺寸包括
常数 | 值 | 说明 |
---|---|---|
QPageSize::A0 | 3 | 841 x 1189毫米 |
QPageSize::A1 | 4 | 594 x 841毫米 |
QPageSize::A2 | 5 | 420 x 594毫米 |
QPageSize::A3 | 6 | 297 x 420毫米 |
QPageSize::A4 | 7 | 210 x 297 毫米,8.26 x 11.69 英寸 |
QPageSize::A5 | 8 | 148 x 210 毫米 |
QPageSize::A6 | 9 | 105 x 148 毫米 |
QPageSize::A7 | 10 | 74 x 105 毫米 |
QPageSize::A8 | 11 | 52 x 74 毫米 |
QPageSize::A9 | 12 | 37 x 52 毫米 |
QPageSize::B0 | 14 | 1000 x 1414 毫米 |
QPageSize::B1 | 15 | 707 x 1000 毫米 |
QPageSize::B2 | 16 | 500 x 707 毫米 |
QPageSize::B3 | 17 | 353 x 500 毫米 |
QPageSize::B4 | 18 | 250 x 353 毫米 |
QPageSize::B5 | 19 | 176 x 250 毫米,6.93 x 9.84 英寸 |
QPageSize::B6 | 20 | 125 x 176 毫米 |
QPageSize::B7 | 21 | 88 x 125 毫米 |
QPageSize::B8 | 22 | 62 x 88 毫米 |
QPageSize::B9 | 23 | 44 x 62 毫米 |
QPageSize::B10 | 24 | 31 x 44 毫米 |
QPageSize::C5E | 25 | 163 x 229 毫米 |
QPageSize::Comm10E | 26 | 105 x 241 毫米,美国常用10号信封 |
QPageSize::DLE | 27 | 110 x 220 毫米 |
QPageSize::Executive | 2 | 7.5 x 10 英寸,190.5 x 254 毫米 |
QPageSize::Folio | 28 | 210 x 330 毫米 |
QPageSize::Ledger | 29 | 431.8 x 279.4 毫米 |
QPageSize::Legal | 1 | 8.5 x 14 英寸,215.9 x 355.6 毫米 |
QPageSize::Letter | 0 | 8.5 x 11 英寸,215.9 x 279.4 毫米 |
QPageSize::Tabloid | 30 | 279.4 x 431.8 毫米 |
QPageSize::Custom | 31 | 未知,或用户自定义大小。 |
QPageSize::A10 | 13 | |
QPageSize::A3Extra | 32 | |
QPageSize::A4Extra | 33 | |
QPageSize::A4Plus | 34 | |
QPageSize::A4Small | 35 | |
QPageSize::A5Extra | 36 | |
QPageSize::B5Extra | 37 | |
QPageSize::JisB0 | 38 | |
QPageSize::JisB1 | 39 | |
QPageSize::JisB2 | 40 | |
QPageSize::JisB3 | 41 | |
QPageSize::JisB4 | 42 | |
QPageSize::JisB5 | 43 | |
QPageSize::JisB6 | 44 | , |
QPageSize::JisB7 | 45 | |
QPageSize::JisB8 | 46 | |
QPageSize::JisB9 | 47 | |
QPageSize::JisB10 | 48 | |
QPageSize::AnsiA | 信封 | = 信封 |
QPageSize::AnsiB | 大账本 | = 大账本 |
QPageSize::AnsiC | 49 | |
QPageSize::AnsiD | 50 | |
QPageSize::AnsiE | 51 | |
QPageSize::LegalExtra | 52 | |
QPageSize::LetterExtra | 53 | |
QPageSize::LetterPlus | 54 | |
QPageSize::LetterSmall | 55 | |
QPageSize::TabloidExtra | 56 | |
QPageSize::ArchA | 57 | |
QPageSize::ArchB | 58 | |
QPageSize::ArchC | 59 | |
QPageSize::ArchD | 60 | |
QPageSize::ArchE | 61 | |
QPageSize::Imperial7x9 | 62 | |
QPageSize::Imperial8x10 | 63 | |
QPageSize::Imperial9x11 | 64 | |
QPageSize::Imperial9x12 | 65 | |
QPageSize::Imperial10x11 | 66 | |
QPageSize::Imperial10x13 | 67 | |
QPageSize::Imperial10x14 | 68 | |
QPageSize::Imperial12x11 | 69 | |
QPageSize::Imperial15x11 | 70 | |
QPageSize::ExecutiveStandard | 71 | |
QPageSize::Note | 72 | |
QPageSize::Quarto | 73 | |
QPageSize::Statement | 74 | |
QPageSize::SuperA | 75 | |
QPageSize::SuperB | 76 | |
QPageSize::Postcard | 77 | |
QPageSize::DoublePostcard | 78 | |
QPageSize::Prc16K | 79 | |
QPageSize::Prc32K | 80 | |
QPageSize::Prc32KBig | 81 | |
QPageSize::FanFoldUS | 82 | |
QPageSize::FanFoldGerman | 83 | |
QPageSize::FanFoldGermanLegal | 84 | |
QPageSize::EnvelopeB4 | 85 | |
QPageSize::EnvelopeB5 | 86 | |
QPageSize::EnvelopeB6 | 87 | |
QPageSize::EnvelopeC0 | 88 | |
QPageSize::EnvelopeC1 | 89 | |
QPageSize::EnvelopeC2 | 90 | |
QPageSize::EnvelopeC3 | 91 | |
QPageSize::EnvelopeC4 | 92 | |
QPageSize::EnvelopeC5 | C5E | = C5E |
QPageSize::EnvelopeC6 | 93 | |
QPageSize::EnvelopeC65 | 94 | |
QPageSize::EnvelopeC7 | 95 | |
QPageSize::EnvelopeDL | DLE | = DLE |
QPageSize::Envelope9 | 96 | |
QPageSize::Envelope10 | Comm10E | = Comm10E |
QPageSize::Envelope11 | 97 | |
QPageSize::Envelope12 | 98 | |
QPageSize::Envelope14 | 99 | |
QPageSize::EnvelopeMonarch | 100 | |
QPageSize::EnvelopePersonal | 101 | |
QPageSize::EnvelopeChou3 | 102 | |
QPageSize::EnvelopeChou4 | 103 | |
QPageSize::EnvelopeInvite | 104 | |
QPageSize::EnvelopeItalian | 105 | |
QPageSize::EnvelopeKaku2 | 106 | |
QPageSize::EnvelopeKaku3 | 107 | |
QPageSize::EnvelopePrc1 | 108 | |
QPageSize::EnvelopePrc2 | 109 | |
QPageSize::EnvelopePrc3 | 110 | |
QPageSize::EnvelopePrc4 | 111 | |
QPageSize::EnvelopePrc5 | 112 | |
QPageSize::EnvelopePrc6 | 113 | |
QPageSize::EnvelopePrc7 | 114 | |
QPageSize::EnvelopePrc8 | 115 | |
QPageSize::EnvelopePrc9 | 116 | |
QPageSize::EnvelopePrc10 | 117 | |
QPageSize::EnvelopeYou4 | 118 | |
QPageSize::LastPageSize | EnvelopeYou4 | = EnvelopeYou4 |
由于历史原因,QPageSize::Executive与标准的PostScript和Windows Executive尺寸不同,请使用QPageSize::ExecutiveStandard。
Postscript标准尺寸QPageSize::Folio与Windows DMPAPER_FOLIO尺寸不同,如有需要,请使用Postscript标准尺寸QPageSize::FanFoldGermanLegal。
枚举 QPageSize::SizeMatchPolicy
常数 | 值 | 说明 |
---|---|---|
QPageSize::FuzzyMatch | 0 | 在容差范围内匹配到标准页大小。 |
QPageSize::FuzzyOrientationMatch | 1 | 无论方向如何,只要在容差范围内就匹配到标准页大小。 |
QPageSize::ExactMatch | 2 | 只有当大小完全匹配时才匹配到标准页大小。 |
枚举 QPageSize::Unit
此枚举类型用于指定页面尺寸的度量单位。
常数 | 值 | 说明 |
---|---|---|
QPageSize::Millimeter | 0 | |
QPageSize::Point | 1 | 英寸的1/72 |
QPageSize::Inch | 2 | |
QPageSize::Pica | 3 | 英尺的1/72,英寸的1/6,12点 |
QPageSize::Didot | 4 | 法国英寸的1/72,0.375毫米 |
QPageSize::Cicero | 5 | 法国英寸的1/6,12 Didot,4.5毫米 |
成员函数文档
QPageSize::QPageSize()
创建一个空的QPageSize。
QPageSize::QPageSize(QPageSize::PageSizeId pageSize)
创建一个标准pageSize的QPageSize。
如果pageSize是QPageSize::Custom,则生成的QPageSize将无效。请改用自定义大小构造函数。
[显式]
QPageSize::QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
使用匹配的matchPolicy创建一个点数pointSize的QPageSize。
如果给定的pointSize匹配标准QPageSize::PageSizeId,则将使用该页大小。请注意,如果matchPolicy是FuzzyMatch,则这可能导致pointSize调整为标准大小。要防止这种情况发生,请使用ExactMatch。
如果给定的pointSize不是标准QPageSize::PageSizeId,则创建一个QPageSize::Custom大小。
如果name为null,则使用标准的本地化名称。如果是自定义页面大小,则创建格式为"Custom (宽度 x 高度)"的自定义名称。
matchPolicy的默认值为FuzzyMatch。
[显式]
QPageSize::QPageSize(const QSizeF &size, QPageSize::Unit units, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
创建一个给定size和units的自定义页。
如果给定的尺寸与标准QPageSize::PageSizeId匹配,则将使用该页尺寸。注意,如果匹配策略是FuzzyMatch,这可能会导致尺寸进行调整以匹配标准尺寸。要防止这种情况发生,请使用匹配策略为ExactMatch。
如果给定的尺寸不是标准QPageSize::PageSizeId,则将创建一个QPageSize::Custom尺寸。原始单位尺寸将被保留并用作所有其他单位尺寸计算的基数。
如果名称为null,则将创建一个自定义名称,格式为"Custom (宽度 x 高度)",其中尺寸以提供的单位表示。
QPageSize::QPageSize(const QPageSize &other)
复制构造函数,将other复制到本实例。
[noexcept]
QPageSize::~QPageSize()
销毁页面。
QSizeF QPageSize::definitionSize() const
返回页面尺寸的定义尺寸。
对于标准页面尺寸,这将是在相关标准中定义的尺寸,例如,ISO A4将在毫米中定义,ANSI Letter将在英寸中定义。
对于自定义页面尺寸,这将是在创建页面尺寸对象时使用的原始尺寸。
另请参阅definitionUnits()。
[static]
QSizeF QPageSize::definitionSize(QPageSize::PageSizeId pageSizeId)
返回标准pageSizeId的定义尺寸。
要获取定义单位,请调用QPageSize::definitionUnits()。
QPageSize::Unit QPageSize::definitionUnits() const
返回页面尺寸的定义单位。
对于标准页面尺寸,这将是相关标准中定义的单位,例如,ISO A4将在毫米中定义,ANSI Letter将在英寸中定义。
对于自定义页面尺寸,这将是创建页面尺寸对象时使用的原始单位。
如果QPageSize无效,则QPageSize::Unit将无效。
另请参阅definitionSize()。
[static]
QPageSize::Unit QPageSize::definitionUnits(QPageSize::PageSizeId pageSizeId)
返回标准pageSizeId的定义单位。
要获取定义尺寸,请调用QPageSize::definitionSize()。
QPageSize::PageSizeId QPageSize::id() const
返回页面标准QPageSize::PageSizeId或QPageSize::Custom。
如果QPageSize无效,则ID将为QPageSize::Custom。
[静态]
QPageSize::PageSizeId QPageSize::id(const QSize &pointSize, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
使用给定的matchPolicy返回以磅为单位的给定pointSize的标准QPageSize::PageSizeId。
如果使用FuzzyMatch,则返回的PageSizeId的点大小可能与传入的pointSize不完全匹配。在执行任何计算之前,您应使用返回的PageSizeId调用QPageSize::sizePoints()以获取PageSizeId的实际点大小。
[静态]
QPageSize::PageSizeId QPageSize::id(const QSizeF &size, QPageSize::Unit units, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
使用给定的matchPolicy返回给定的size和units的标准QPageSize::PageSizeId。
如果使用FuzzyMatch,则返回的PageSizeId的单位大小可能与传入的size不完全匹配。在执行任何计算之前,您应使用返回的PageSizeId调用QPageSize::size()以获取PageSizeId的实际单位大小。
[静态]
QPageSize::PageSizeId QPageSize::id(int windowsId)
返回给定Windows DMPAPER枚举值windowsId的PageSizeId。
如果没有匹配的PageSizeId,则返回QPageSize::Custom。
bool QPageSize::isEquivalentTo(const QPageSize &other) const
如果此页面等于other页面(即页面具有相同的尺寸,无论其他属性(如名称)如何),则返回true
。
bool QPageSize::isValid() const
如果此页面大小有效,则返回true
。
如果使用无效的PageSizeId创建、具有负值或无效的QSize或QSizeF,或调用null构造函数,则页面大小可能无效。
QString QPageSize::key() const
返回页面大小的唯一密钥。
默认情况下,这是页面大小的PPD标准mediaOption关键字,或PPD自定义格式密钥。如果QPageSize实例是从打印设备获得的,则这将是打印设备提供的密钥,可能不同于标准密钥。
如果 QPageSize 无效,则键将为空字符串。
此键绝不应该显示给最终用户,它仅是内部键。要使用人类可读的名称,请使用 name()。
另请参阅 name。
[静态]
QString QPageSize::key(QPageSize::PageSizeId pageSizeId)
返回标准 pageSizeId 的 PPD 媒体选项关键字。
如果 QPageSize 无效,则键将为空。
QString QPageSize::name() const
返回页面大小的人类可读名称。
如果 QPageSize 实例是从打印设备获得的,则使用的名称是打印设备提供的。请注意,打印设备可能不支持当前默认区域语言的当前默认值。
如果 QPageSize 无效,则名称将为空字符串。
[静态]
QString QPageSize::name(QPageSize::PageSizeId pageSizeId)
返回标准 pageSizeId 的本地化名称。
如果 QPageSize 无效,则名称将为空。
QRectF QPageSize::rect(QPageSize::Unit units) const
返回所需 units 的页面矩形。
QRect QPageSize::rectPixels(int resolution) const
返回在给定 resolution 的设备象素中的页面矩形。
QRect QPageSize::rectPoints() const
以 Postscript 点(1/72 英寸)为单位返回页面矩形。
QSizeF QPageSize::size(QPageSize::Unit units) const
返回所需 units 中页面的尺寸。
[静态]
QSizeF QPageSize::size(QPageSize::PageSizeId pageSizeId, QPageSize::Unit units)
返回请求 units 的标准 pageSizeId 的大小。
QSize QPageSize::sizePixels(int resolution) const
返回在给定 resolution 的设备像素中的页面大小。
[静态]
QSize QPageSize::sizePixels(QPageSize::PageSizeId pageSizeId, int resolution)
返回给定resolution的默认pageSizeId在设备像素中的大小。
QSize QPageSize::sizePoints() const
以点为单位,返回页面的Postscript点大小(1/72英寸)。
[静态]
QSize QPageSize::sizePoints(QPageSize::PageSizeId pageSizeId)
返回标准pageSizeId的点大小。
[noexcept]
void QPageSize::swap(QPageSize &other)
交换此QPageSize与other。此函数非常快速且从未失败。
int QPageSize::windowsId() const
返回纸张大小的Windows DMPAPER枚举值。
并非所有有效的PPD页面大小都有Windows等效值,在这种情况下将返回0。
如果QPageSize无效,则Windows ID将为0。
另请参阅id()。
[静态]
int QPageSize::windowsId(QPageSize::PageSizeId pageSizeId)
返回标准pageSizeId的Windows DMPAPER枚举值。
并非所有有效的PPD页面大小都有Windows等效值,在这种情况下将返回0。
[noexcept]
QPageSize &QPageSize::operator=(QPageSize &&other)
将other移动分配给此QPageSize实例,将管理指针的所有权转移到此实例。
QPageSize &QPageSize::operator=(const QPageSize &other)
赋值运算符,将other赋值给此对象。
© 2024 The Qt Company Ltd. 本文档中包含的贡献信息均为各自所有者的版权。提供的文档的使用受《GNU自由文档许可证1.3版》的约束,该许可证由自由软件基金会发布。Qt及其相应标志为芬兰及其它国家/地区的Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。