class QPageSize#

QPageSize 类描述了定义的页面大小及其名称。更多...

概述#

方法#

静态函数#

注解

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来通知我们。

详细描述#

该类实现了对Adobe Postscript PPD标准v4.3中定义的标准页面尺寸集的支持。它定义了以点、毫米和英寸为单位的标准页面尺寸集,并确保这些尺寸使用一致。也可以使用其他尺寸单位,但将使用计算结果,因此可能并不总是保持一致。定义的点尺寸始终是整数,所有其他尺寸可以是分数。

定义的尺寸始终在宽度 x 高度顺序中,没有隐含的页面方向。请注意,可以定义页面尺寸,其中宽度大于高度,例如 Ledger ,因此您不能依赖比较宽度和高度值来确定页面方向。

例如,A4被标准定义为210毫米 x 297毫米,8.27英寸 x 11.69英寸,或595点 x 842点。

您还可以定义带有自定义名称的自定义页面尺寸,您可以使用任何所需的单位,并且将保留此单位尺寸并用作其他所有单位尺寸计算的基础。

在创建一个使用自定义QSize的 QPageSize 时,您可以选择是否希望 QPageSize 尝试将尺寸匹配到标准页面尺寸。默认情况下,QPaperSize使用一个 FuzzyMatch 模式,其中如果给定的页面尺寸与定义的标准尺寸相差在3个Postscript点范围内,则匹配该页面尺寸到标准页面尺寸。您可以覆盖此默认设置以请求精确匹配,但这样做不推荐,因为不同单位之间的转换可能会轻易丢失3个点,导致页面尺寸不准确。

通过查询打印设备的支持页面尺寸也可以获取 QPageSize 实例。在这种情况下,返回的是打印机本身定义的本地化名称。请注意,打印设备可能不支持当前默认区域设置语言。

类还提供了方便的方法,用于在各种单位尺寸之间转换页面大小标识符。

class PageSizeId#

该枚举类型列出可用页面大小,这些大小由Postscript PPD标准定义。这些值在QPagedPaintDevice和QPrinter中dup

定义的大小是

常数

描述

QPageSize.A0

841 x 1189 mm

QPageSize.A1

594 x 841 mm

QPageSize.A2

420 x 594 mm

QPageSize.A3

297 x 420 mm

QPageSize.A4

210 x 297 mm, 8.26 x 11.69 英寸

QPageSize.A5

148 x 210 mm

QPageSize.A6

105 x 148 mm

QPageSize.A7

74 x 105 mm

QPageSize.A8

52 x 74 mm

QPageSize.A9

37 x 52 mm

QPageSize.B0

1000 x 1414 mm

QPageSize.B1

707 x 1000 mm

QPageSize.B2

500 x 707 mm

QPageSize.B3

353 x 500 mm

QPageSize.B4

250 x 353 mm

QPageSize.B5

176 x 250 mm, 6.93 x 9.84 英寸

QPageSize.B6

125 x 176 mm

QPageSize.B7

88 x 125 mm

QPageSize.B8

62 x 88 mm

QPageSize.B9

44 x 62 mm

QPageSize.B10

31 x 44 mm

QPageSize.C5E

163 x 229 mm

QPageSize.Comm10E

105 x 241 mm,美国普通10号信封

QPageSize.DLE

110 x 220 mm

QPageSize.Executive

7.5 x 10 英寸,190.5 x 254 mm

QPageSize.Folio

210 x 330 mm

QPageSize.Ledger

431.8 x 279.4 mm

QPageSize.Legal

8.5 x 14 英寸,215.9 x 355.6 mm

QPageSize.Letter

8.5 x 11 英寸,215.9 x 279.4 mm

QPageSize.Tabloid

279.4 x 431.8 mm

QPageSize.Custom

未知,或用户定义的大小。

QPageSize.A10

QPageSize.A3Extra

QPageSize.A4Extra

QPageSize.A4Plus

QPageSize.A4Small

QPageSize.A5Extra

QPageSize.B5Extra

QPageSize.JisB0

QPageSize.JisB1

QPageSize.JisB2

QPageSize.JisB3

QPageSize.JisB4

QPageSize.JisB5

QPageSize.JisB6

,

QPageSize.JisB7

QPageSize.JisB8

QPageSize.JisB9

QPageSize.JisB10

QPageSize.AnsiA

= Letter

QPageSize.AnsiB

= Ledger

QPageSize.AnsiC

QPageSize.AnsiD

QPageSize.AnsiE

QPageSize.LegalExtra

QPageSize.LetterExtra

QPageSize.LetterPlus

QPageSize.LetterSmall

QPageSize.TabloidExtra

QPageSize.ArchA

QPageSize.ArchB

QPageSize.ArchC

QPageSize.ArchD

QPageSize.ArchE

QPageSize.Imperial7x9

QPageSize.Imperial8x10

QPageSize.Imperial9x11

QPageSize.Imperial9x12

QPageSize.Imperial10x11

QPageSize.Imperial10x13

QPageSize.Imperial10x14

QPageSize.Imperial12x11

QPageSize.Imperial15x11

QPageSize.ExecutiveStandard

QPageSize.Note

QPageSize.Quarto

QPageSize.Statement

QPageSize.SuperA

QPageSize.SuperB

QPageSize.Postcard

QPageSize.DoublePostcard

QPageSize.Prc16K

QPageSize.Prc32K

QPageSize.Prc32KBig

QPageSize.FanFoldUS

QPageSize.FanFoldGerman

QPageSize.FanFoldGermanLegal

QPageSize.EnvelopeB4

QPageSize.EnvelopeB5

QPageSize.EnvelopeB6

QPageSize.EnvelopeC0

QPageSize.EnvelopeC1

QPageSize.EnvelopeC2

QPageSize.EnvelopeC3

QPageSize.EnvelopeC4

QPageSize.EnvelopeC5

等于 C5E

QPageSize.信封C6

QPageSize.信封C65

QPageSize.信封C7

QPageSize.信封DL

等于 DLE

QPageSize.信封9

QPageSize.信封10

等于 Comm10E

QPageSize.信封11

QPageSize.信封12

QPageSize.信封14

QPageSize.信封Monarch

QPageSize.信封Personal

QPageSize.信封Chou3

QPageSize.信封Chou4

QPageSize.信封Invite

QPageSize.信封Italian

QPageSize.信封Kaku2

QPageSize.信封Kaku3

QPageSize.信封Prc1

QPageSize.信封Prc2

QPageSize.信封Prc3

QPageSize.信封Prc4

QPageSize.信封Prc5

QPageSize.信封Prc6

QPageSize.信封Prc7

QPageSize.信封Prc8

QPageSize.信封Prc9

QPageSize.信封Prc10

QPageSize.信封You4

QPageSize.LastPageSize

等于 EnvelopeYou4

由于历史原因,QPageSize::Executive与标准的Postscript和Windows Executive大小不同,建议使用QPageSize::ExecutiveStandard。

Postscript标准大小QPageSize::Folio与Windows DMPAPER_FOLIO大小不同,如需使用,请使用Postscript标准大小QPageSize::FanFoldGermanLegal。

class Unit#

此枚举类型用于指定页面大小的度量单位。

常数

描述

QPageSize.Millimeter

QPageSize.Point

1/72英寸

QPageSize.Inch

QPageSize.Pica

1/72脚,1/6英寸,12磅

QPageSize.Didot

1/72法国英寸,0.375毫米

QPageSize.Cicero

1/6法国英寸,12 Didot,4.5毫米

class SizeMatchPolicy#

常数

描述

QPageSize.FuzzyMatch

在容差范围内匹配到标准页面大小。

QPageSize.FuzzyOrientationMatch

无论方向如何,只要在容差范围内就匹配到标准页面大小。

QPageSize.ExactMatch

只有完全匹配标准页面大小才进行匹配。

__init__(pageSizeId)#
参数::

pageSizeIdPageSizeId

创建一个标准的 pageSizeQPageSize 对象。

如果 pageSizeCustom,则创建的 QPageSize 对象可能不有效。建议使用自定义大小构造函数。

__init__(other)
参数::

otherQPageSize

复制构造函数,将 other 复制到当前对象。

__init__(pointSize[, name=""[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch]])
参数::

使用匹配 matchPolicy 创建指定 pointSize(点大小)的 QPageSize

如果指定的 pointSize 与标准 PageSizeId 匹配,则使用该页大小。注意,如果 matchPolicyFuzzyMatch,则可能导致 pointSize 调整到标准大小。为防止这种情况发生,请使用 SizeMatchPolicyExactMatch 选项。

如果给定的 pointSize 不是一个标准的 PageSizeId,则将创建 Custom 大小。

如果 name 为空,则使用标准本地化名称。如果是自定义页面大小,则创建格式为“自定义 (宽度 x 高度)”的自定义名称。

matchPolicy 的默认值为 FuzzyMatch

__init__(size, units[, name=""[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch]])
参数::

创建给定 sizeunits 中的自定义页面。

如果给定的 size 与一个标准的 PageSizeId 匹配,则将使用该页面大小。注意,如果 matchPolicyFuzzyMatch,这可能会导致 size 调整到标准大小。为了防止这种情况发生,请使用 ExactMatch

如果给定的 size 不是一个标准的 PageSizeId,则将创建一个 Custom 大小。原始单位大小将被保留并用作所有其他单位大小计算的基础。

如果 name 为空,则将创建一个自定义名称,形式为“自定义 (宽度 x 高度)”,其中大小以提供的单位表示。

__init__()

创建一个空的 QPageSize

definitionSize()#
返回类型:

QSizeF

返回页面大小的定义大小。

对于标准页面大小,这将是在相关标准中所定义的大小,即ISO A4将用毫米定义,ANSI Letter将用英寸定义。

对于自定义页面大小,这将是在创建页面大小对象时使用的原始大小。

如果 QPageSize 无效,则 QSizeF 将是无效的。

另请参阅

definitionUnits()

static definitionSize(pageSizeId)
参数::

pageSizeIdPageSizeId

返回类型:

QSizeF

返回标准 pageSizeId 的定义大小。

要获得定义单位,请调用 definitionUnits()

definitionUnits()#
返回类型:

单位

返回页面大小的定义单位。

对于标准页面大小,这将是在相关标准中所定义的单位,即ISO A4将用毫米定义,ANSI Letter将用英寸定义。

对于自定义页面大小,这将是在创建页面大小对象时使用的原始单位。

如果 QPageSize 无效,则 Unit 将是无效的。

另请参阅

definitionSize()

static definitionUnits(pageSizeId)
参数::

pageSizeIdPageSizeId

返回类型:

单位

返回标准 pageSizeId 的定义单位。

要获取定义尺寸,调用 definitionSize()

id()#
返回类型:

PageSizeId

返回页面的标准 PageSizeId ,或 Custom

如果 QPageSize 无效,则 ID 将是 Custom

static id(pointSize[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch])
参数::
返回类型:

PageSizeId

使用给定的 matchPolicy 返回给定点尺寸 pointSize 的标准 PageSizeId

如果使用 FuzzyMatch,则返回的 PageSizeId 的点尺寸可能不会与您传入的点尺寸精确匹配。在使用它进行任何计算之前,您应该使用返回的 PageSizeId 调用 sizePoints() 以找到 PageSizeId 的实际点尺寸。

static id(size, units[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch])
参数::
返回类型:

PageSizeId

使用给定的 matchPolicy 返回给定尺寸 sizeunits 中的标准 PageSizeId

如果使用FuzzyMatch,则返回的PageSizeId的大小可能与您传入的大小不完全匹配。在使用任何计算之前,您应该使用返回的PageSizeId调用size(),以找出PageSizeId的实际单位大小。

静态 id(windowsId)
参数::

windowsId – int

返回类型:

PageSizeId

返回给定Windows DMPAPER枚举值windowsIdPageSizeId

如果没有匹配的PageSizeId,则返回Custom

isEquivalentTo(other)#
参数::

otherQPageSize

返回类型:

bool

返回true,如果此页面与other页面相同,即页面大小相同,无论其他属性(如名称)如何。

isValid()#
返回类型:

bool

返回true,如果此页面大小有效。

如果页面大小是由无效的PageSizeId、负数或无效的QSize或QSizeF或空构造函数创建的,则页面大小可能无效。

静态 key(pageSizeId)#
参数::

pageSizeIdPageSizeId

返回类型:

str

返回标准pageSizeId的PPD媒体选项关键字。

如果QPageSize无效,则密钥将为空。

key()
返回类型:

str

返回页面大小的唯一密钥。

默认情况下,这是页面大小的PPD标准媒体选项关键字,或PPD自定义格式密钥。如果QPageSize实例是从打印设备获得的,则此将不再是标准密钥。

如果 QPageSize 无效,则键将是一个空字符串。

此键永远不会显示给最终用户,它仅是内部键。对于可读性强的名称,请使用 name() .

另请参阅

name()

name()#
返回类型:

str

返回页面大小的人类可读名称。

如果 QPageSize 实例是从打印设备获得的,则使用的名称是由打印设备提供的。请注意,打印设备可能不支持当前默认的区域设置语言。

如果 QPageSize 无效,则名称将为空字符串。

static name(pageSizeId)
参数::

pageSizeIdPageSizeId

返回类型:

str

返回标准 pageSizeId 的本地化名称。

如果 QPageSize 无效,则名称将为空。

__ne__(rhs)#
参数::

rhsQPageSize

返回类型:

bool

如果页面大小 lhs 与页面大小 rhs 不相等,即页面大小具有不同的属性,则返回 true。当前属性包括大小和名称。

__eq__(rhs)#
参数::

rhsQPageSize

返回类型:

bool

如果页面大小 lhs 与页面大小 rhs 相等,即页面大小具有相同的属性,则返回 true。当前属性包括大小和名称。

rect(units)#
参数::

unitsUnit

返回类型:

QRectF

以所需的 units 返回页面矩形。

如果 QPageSize 无效,则 QRect 将无效。

rectPixels(resolution)#
参数::

resolution – int

返回类型:

QRect

在给定的 resolution 下以设备像素返回页面矩形。

如果 QPageSize 无效,则 QRect 将无效。

rectPoints()#
返回类型:

QRect

返回页面矩形在Postscript Points(每英寸72个点)中的位置。

如果 QPageSize 无效,则 QRect 将无效。

static size(pageSizeId, units)#
参数::
返回类型:

QSizeF

返回标准pageSizeId在请求的units中的大小。

size(units)
参数::

unitsUnit

返回类型:

QSizeF

返回所需units中页面的大小。

如果 QPageSize 无效,则 QSizeF 将是无效的。

static sizePixels(pageSizeId, resolution)#
参数::
返回类型:

QSize

返回给定resolutionpageSizeId在设备像素中的大小。

sizePixels(resolution)
参数::

resolution – int

返回类型:

QSize

返回指定resolution下页面在设备像素中的大小。

如果QPageSize无效,则返回的QSize也将无效。

sizePoints()#
返回类型:

QSize

返回页面在Postscript Points(每英寸72个点)中的大小。

如果QPageSize无效,则返回的QSize也将无效。

static sizePoints(pageSizeId)
参数::

pageSizeIdPageSizeId

返回类型:

QSize

返回标准pageSizeId的点大小。

swap(other)#
参数::

otherQPageSize

将此QPageSizeother交换。此函数非常快且从不失败。

windowsId()#
返回类型:

int

返回页面尺寸的Windows DMPAPER枚举值。

并非所有有效的PPD页面尺寸都有Windows等价物,在这种情况下将返回0。

如果QPageSize无效,则Windows ID将为0。

另请参阅

id()

static windowsId(pageSizeId)
参数::

pageSizeIdPageSizeId

返回类型:

int

返回标准 pageSizeId 的 Windows DMPAPER 枚举值。

并非所有有效的PPD页面尺寸都有Windows等价物,在这种情况下将返回0。