PySide6.QtGui.QPageSize

class QPageSize

QPageSize 类描述了定义页面大小的名称和尺寸。更多

概要

方法

静态函数

注意

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

详细描述

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

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

例如,A4 由标准定义为 210mm x 297mm,8.27in x 11.69in,或 595pt x 842pt。

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

当使用自定义的QSize创建QPageSize时,您可以选择是否希望QPageSize尝试将尺寸与标准页面尺寸匹配。默认情况下,QPaperSize使用FuzzyMatch模式,如果给定的页面尺寸在定义的3个PostScript点范围内,它将匹配到标准页面尺寸。您可以覆盖此设置以请求仅进行精确匹配,但不建议这样做,因为单位之间的转换很容易丢失3个点,从而导致页面尺寸不正确。

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

该类还提供了方便的方法,用于将页面大小ID与各种单位大小之间进行转换。

class PageSizeId

此枚举类型列出了Postscript PPD标准中定义的可用页面尺寸。这些值在QPagedPaintDevice和QPrinter中重复。

定义的尺寸为:

常量

描述

QPageSize.A0

841 x 1189 毫米

QPageSize.A1

594 x 841 毫米

QPageSize.A2

420 x 594 毫米

QPageSize.A3

297 x 420 毫米

QPageSize.A4

210 x 297 毫米, 8.26 x 11.69 英寸

QPageSize.A5

148 x 210 毫米

QPageSize.A6

105 x 148 毫米

QPageSize.A7

74 x 105 毫米

QPageSize.A8

52 x 74 毫米

QPageSize.A9

37 x 52 毫米

QPageSize.B0

1000 x 1414 毫米

QPageSize.B1

707 x 1000 毫米

QPageSize.B2

500 x 707 毫米

QPageSize.B3

353 x 500 毫米

QPageSize.B4

250 x 353 毫米

QPageSize.B5

176 x 250 毫米, 6.93 x 9.84 英寸

QPageSize.B6

125 x 176 毫米

QPageSize.B7

88 x 125 毫米

QPageSize.B8

62 x 88 毫米

QPageSize.B9

44 x 62 毫米

QPageSize.B10

31 x 44 毫米

QPageSize.C5E

163 x 229 毫米

QPageSize.Comm10E

105 x 241 毫米,美国通用 10 号信封

QPageSize.DLE

110 x 220 毫米

QPageSize.Executive

7.5 x 10 英寸, 190.5 x 254 毫米

QPageSize.Folio

210 x 330 毫米

QPageSize.Ledger

431.8 x 279.4 毫米

QPageSize.Legal

8.5 x 14 英寸, 215.9 x 355.6 毫米

QPageSize.Letter

8.5 x 11 英寸,215.9 x 279.4 毫米

QPageSize.Tabloid

279.4 x 431.8 毫米

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

= 信纸

QPageSize.AnsiB

= 分类账

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.注意

QPageSize.Quarto

QPageSize.Statement

QPageSize.SuperA

QPageSize.SuperB

QPageSize.明信片

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.信封C4

QPageSize.EnvelopeC5

= C5E

QPageSize.EnvelopeC6

QPageSize.EnvelopeC65

QPageSize.EnvelopeC7

QPageSize.EnvelopeDL

= DLE

QPageSize.Envelope9

QPageSize.Envelope10

= Comm10E

QPageSize.Envelope11

QPageSize.信封12

QPageSize.信封14

QPageSize.信封君主

QPageSize.信封个人

QPageSize.EnvelopeChou3

QPageSize.EnvelopeChou4

QPageSize.邀请信封

QPageSize.意大利信封

QPageSize.EnvelopeKaku2

QPageSize.信封Kaku3

QPageSize.EnvelopePrc1

QPageSize.EnvelopePrc2

QPageSize.EnvelopePrc3

QPageSize.信封Prc4

QPageSize.信封Prc5

QPageSize.EnvelopePrc6

QPageSize.EnvelopePrc7

QPageSize.EnvelopePrc8

QPageSize.EnvelopePrc9

QPageSize.EnvelopePrc10

QPageSize.EnvelopeYou4

QPageSize.LastPageSize

= EnvelopeYou4

由于历史原因,QPageSize::Executive 与标准的 Postscript 和 Windows Executive 尺寸不同,请改用 QPageSize::ExecutiveStandard。

Postscript标准尺寸QPageSize::Folio与Windows DMPAPER_FOLIO尺寸不同,如果需要,请使用Postscript标准尺寸QPageSize::FanFoldGermanLegal。

class Unit

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

常量

描述

QPageSize.毫米

QPageSize.Point

1/72英寸

QPageSize.英寸

QPageSize.Pica

1/72英尺,1/6英寸,12点

QPageSize.Didot

1/72 法国英寸,0.375 毫米

QPageSize.Cicero

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

class SizeMatchPolicy

常量

描述

QPageSize.FuzzyMatch

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

QPageSize.FuzzyOrientationMatch

如果页面大小在容差范围内,则匹配标准页面大小,无论方向如何。

QPageSize.ExactMatch

仅当尺寸完全匹配时,才与标准页面尺寸匹配。

__init__()

创建一个空的 QPageSize

__init__(pageSizeId)
Parameters:

pageSizeIdPageSizeId

创建一个标准QPageSizepageSize

如果 pageSizeCustom,那么生成的 QPageSize 将无效。请改用自定义大小的构造函数。

__init__(other)
Parameters:

其他QPageSize

复制构造函数,将other复制到此。

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

使用匹配的matchPolicy创建一个给定pointSize(以点为单位)的QPageSize

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

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

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

matchPolicy 默认为 FuzzyMatch

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

创建一个具有给定size的自定义页面,单位为units

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

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

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

definitionSize()
Return type:

QSizeF

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

对于标准页面尺寸,这将是相关标准中定义的尺寸,即ISO A4将以毫米为单位定义,而ANSI Letter将以英寸为单位定义。

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

如果QPageSize无效,则QSizeF也将无效。

另请参阅

definitionUnits()

static definitionSize(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

QSizeF

返回标准pageSizeId的定义大小。

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

definitionUnits()
Return type:

Unit

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

对于标准页面尺寸,这将是相关标准中定义的单位,即ISO A4将以毫米为单位定义,而ANSI Letter将以英寸为单位定义。

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

如果QPageSize无效,则Unit也将无效。

另请参阅

definitionSize()

static definitionUnits(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

Unit

返回标准pageSizeId的定义单位。

要获取定义大小,请调用 definitionSize()

id()
Return type:

PageSizeId

返回页面的标准PageSizeId,或Custom

如果QPageSize无效,则ID将为Custom

static id(windowsId)
Parameters:

windowsId – int

Return type:

PageSizeId

返回给定Windows DMPAPER枚举值windowsIdPageSizeId

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

static id(pointSize[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch])
Parameters:
Return type:

PageSizeId

返回给定pointSize的标准PageSizeId,使用给定的matchPolicy

如果使用FuzzyMatch,则返回的PageSizeId的点大小可能不完全匹配您传入的pointSize。在使用它进行任何计算之前,您应该使用返回的PageSizeId调用sizePoints()来找出PageSizeId的实际点大小。

static id(size, units[, matchPolicy=QPageSize.SizeMatchPolicy.FuzzyMatch])
Parameters:
Return type:

PageSizeId

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

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

isEquivalentTo(other)
Parameters:

其他QPageSize

Return type:

布尔

如果此页面与other页面等效,即页面大小相同,而不考虑名称等其他属性,则返回true

isValid()
Return type:

布尔

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

如果使用无效的PageSizeId、负值或无效的QSize或QSizeF,或者使用空构造函数创建,页面大小可能无效。

key()
Return type:

字符串

返回页面大小的唯一键。

默认情况下,这是页面大小的PPD标准mediaOption关键字,或PPD自定义格式键。如果QPageSize实例是从打印设备获取的,那么这将是打印设备提供的键,可能与标准键不同。

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

此密钥绝不应显示给最终用户,它仅是一个内部密钥。对于人类可读的名称,请使用 name()

另请参阅

name()

static key(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

字符串

返回标准pageSizeId的PPD mediaOption关键字。

如果QPageSize无效,则键将为空。

name()
Return type:

字符串

返回页面大小的本地化可读名称。

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

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

static name(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

字符串

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

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

__ne__(rhs)
Parameters:

rhsQPageSize

Return type:

布尔

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

__eq__(rhs)
Parameters:

rhsQPageSize

Return type:

布尔

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

rect(units)
Parameters:

单位Unit

Return type:

QRectF

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

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

rectPixels(resolution)
Parameters:

分辨率 – int

Return type:

QRect

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

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

rectPoints()
Return type:

QRect

返回以Postscript点(1/72英寸)为单位的页面矩形。

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

size(units)
Parameters:

单位Unit

Return type:

QSizeF

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

如果QPageSize无效,则QSizeF也将无效。

static size(pageSizeId, units)
Parameters:
Return type:

QSizeF

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

sizePixels(resolution)
Parameters:

分辨率 – int

Return type:

QSize

返回给定resolution下页面的设备像素大小。

如果QPageSize无效,则QSize也将无效。

static sizePixels(pageSizeId, resolution)
Parameters:
Return type:

QSize

返回给定resolution的标准pageSizeId的设备像素大小。

sizePoints()
Return type:

QSize

返回页面的大小,单位为Postscript点(1/72英寸)。

如果 QPageSize 无效,则 QSize 也将无效。

static sizePoints(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

QSize

返回标准pageSizeId的大小,单位为点。

swap(other)
Parameters:

其他QPageSize

将此QPageSizeother交换。此函数非常快且永远不会失败。

windowsId()
Return type:

整数

返回页面大小的Windows DMPAPER枚举值。

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

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

另请参阅

id()

static windowsId(pageSizeId)
Parameters:

pageSizeIdPageSizeId

Return type:

整数

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

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