QPageLayout 类
描述页面的大小、方向和外边距。 更多...
头文件 | #include <QPageLayout> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
公共类型
枚举 | Mode { StandardMode, FullPageMode } |
枚举 | Orientation { Portrait, Landscape } |
枚举 | Unit { Millimeter, Point, Inch, Pica, Didot, Cicero } |
公共函数
QPageLayout() | |
QPageLayout(const QPageSize &pageSize, QPageLayout::Orientation orientation, const QMarginsF &margins, QPageLayout::Unit units = Point, const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0)) | |
QPageLayout(const QPageLayout &other) | |
~QPageLayout() | |
QRectF | fullRect() const |
QRectF | fullRect(QPageLayout::Unit units) const |
QRect | fullRectPixels(int resolution) const |
QRect | fullRectPoints() const |
bool | isEquivalentTo(const QPageLayout &other) const |
bool | isValid() const |
QMarginsF | margins() const |
QMarginsF | margins(QPageLayout::Unit units) const |
QMargins | marginsPixels(int resolution) const |
QMargins | marginsPoints() const |
QMarginsF | maximumMargins() const |
QMarginsF | minimumMargins() const |
QPageLayout::Mode | mode() const |
QPageLayout::Orientation | orientation() const |
QPageSize | pageSize() const |
QRectF | paintRect() const |
QRectF | paintRect(QPageLayout::Unit units) const |
QRect | paintRectPixels(int resolution) const |
QRect | paintRectPoints() const |
bool | setBottomMargin(qreal bottomMargin) |
bool | setLeftMargin(qreal leftMargin) |
bool | setMargins(const QMarginsF &margins) |
void | setMinimumMargins(const QMarginsF &minMargins) |
void | setMode(QPageLayout::Mode mode) |
void | setOrientation(QPageLayout::Orientation orientation) |
void | setPageSize(const QPageSize &pageSize, const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0)) |
bool | setRightMargin(qreal rightMargin) |
bool | setTopMargin(qreal topMargin) |
void | setUnits(QPageLayout::Unit units) |
void | swap(QPageLayout &other) |
QPageLayout::Unit | units() const |
QPageLayout & | operator=(QPageLayout &&other) |
QPageLayout & | operator=(const QPageLayout &other) |
相关非成员
bool | operator!=(const QPageLayout &lhs, const QPageLayout &rhs) |
bool | operator==(const QPageLayout &lhs, const QPageLayout &rhs) |
详细描述
The QPageLayout 类定义了分页文档中一页的布局,允许设置页面大小、方向和边距,并通过那些属性定义的完整页面和可绘制页面矩形能在多种单位中查询。
页面大小由 QPageSize 类定义,可以查询页面大小的属性。注意,QPageSize 自身总是以肖像方向定义。
可以为布局定义最小边距,但通常默认为 0。与 Qt 的打印支持结合使用时,最小边距将反映打印机定义的最小打印区域。
在默认的 StandardMode 中,始终考虑当前边距和最小边距。可绘制矩形是整个页面矩形减去当前边距,当前边距只能设置为介于最小边距和整个页面大小允许的最大边距之间的值。
在 FullPageMode 中,不考虑当前边距和最小边距。可绘制矩形是整个页面矩形,当前边距可以设置为任何值,而无需考虑最小边距和页面大小。
另请参阅 QPageSize。
成员类型文档
enum QPageLayout::Mode
定义页面布局模式
常量 | 值 | 描述 |
---|---|---|
QPageLayout::StandardMode | 0 | 绘图画布包括边距,边距必须在最小和最大之间。 |
QPageLayout::FullPageMode | 1 | 绘图画布不包括边距,边距可以是任何值,并且必须手动管理。 |
enum QPageLayout::Orientation
此枚举类型定义页面方向
常量 | 值 | 描述 |
---|---|---|
QPageLayout::Portrait | 0 | 页面大小使用其默认方向 |
QPageLayout::Landscape | 1 | 页面大小旋转 90 度 |
注意,一些标准页面大小定义的宽度大于其高度,因此方向是相对于标准页面大小定义的,而不是使用相对页面尺寸。
enum QPageLayout::Unit
此枚举类型用于指定页面布局和边距的度量单位。
常量 | 值 | 描述 |
---|---|---|
QPageLayout::Millimeter | 0 | |
QPageLayout::Point | 1 | 英寸的 1/72 |
QPageLayout::Inch | 2 | |
QPageLayout::Pica | 3 | 英尺的 1/72,英寸的 1/6,12 点 |
QPageLayout::Didot | 4 | 法国英寸的 1/72,0.375 毫米 |
QPageLayout::Cicero | 5 | 法国英寸的 1/6,12 Didot,4.5 毫米 |
成员函数文档
QPageLayout::QPageLayout()
创建一个无效的 QPageLayout。
QPageLayout::QPageLayout(const QPageSize &pageSize, QPageLayout::Orientation orientation, const QMarginsF &margins, QPageLayout::Unit units = Point, const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0))
使用给定的页面大小、方向和页边距,以给定的单位创建一个 QPageLayout。
可选地定义允许的最小页边距 minMargins,例如物理打印机能打印的最小页边距。
构建的 QPageLayout 将处于 StandardMode 模式。
给定的 margins 将被限制在页面大小允许的最小页边距和最大页边距之间。
QPageLayout::QPageLayout(const QPageLayout &other)
复制构造函数,将 other 复制到当前对象。
[noexcept]
QPageLayout::~QPageLayout()
销毁页面布局。
QRectF QPageLayout::fullRect() const
返回当前布局单位下的完整页面矩形。
页面矩形考虑了页面大小和页面方向,但不考虑页面边距。
QRectF QPageLayout::fullRect(QPageLayout::Unit units) const
返回在所需 units 中的完整页面矩形。
页面矩形考虑了页面大小和页面方向,但不考虑页面边距。
另请参阅paintRect()。
QRect QPageLayout::fullRectPixels(int resolution) const
返回给定 resolution 的设备像素下的完整页面矩形。
页面矩形考虑了页面大小和页面方向,但不考虑页面边距。
另请参阅paintRect()。
QRect QPageLayout::fullRectPoints() const
返回以 Postscript 点(1/72 英寸)为单位的完整页面矩形。
页面矩形考虑了页面大小和页面方向,但不考虑页面边距。
另请参阅paintRect()。
bool QPageLayout::isEquivalentTo(const QPageLayout &other) const
如果此页面布局等于其他页面布局(即页面具有相同的大小、边距和方向),则返回 true
。
bool QPageLayout::isValid() const
如果此页面布局是有效的,则返回 true
。
QMarginsF QPageLayout::margins() const
使用当前设置的单元返回页面布局的边距。
另请参阅setMargins() 和 units()。
QMarginsF QPageLayout::margins(QPageLayout::Unit units) const
使用请求的 units 返回页面布局的边距。
另请参阅setMargins() 和 margins。
QMargins QPageLayout::marginsPixels(int resolution) const
返回指定 resolution 下页面布局的设备像素边距。
另请参阅setMargins。
QMargins QPageLayout::marginsPoints() const
返回页面布局的 Postscript 点(1/72 英寸)边距。
另请参阅setMargins() 和 margins。
QMarginsF QPageLayout::maximumMargins() const
返回如果页面布局处于 StandardMode 则将应用的最大边距。
允许的最大边距计算为页面全尺寸减去设置的 minimumMargin。例如,如果页面宽度为 100 点,并且右侧最小边距为 10 点,则最大左侧边距将为 90 点。
另请参阅setMinimumMargins 和 minimumMargins。
QMarginsF QPageLayout::minimumMargins() const
返回页面布局的最小边距。
另请参阅setMinimumMargins 和 maximumMargins。
QPageLayout::Mode QPageLayout::mode() const
返回页面布局的模式。
另请参阅setMode。
QPageLayout::Orientation QPageLayout::orientation() const
返回页面布局的页面方向。
另请参阅setOrientation。
QPageSize QPageLayout::pageSize() const
返回页面布局的页面尺寸。
请注意,QPageSize 总是在垂直方向上定义。要获取考虑设置方向的大小,必须使用 fullRect。
另请参阅setPageSize。
QRectF QPageLayout::paintRect() const
返回当前布局单位下的页面矩形。
可绘制矩形考虑了页面尺寸、方向和边距。
如果设置了 FullPageMode 模式,则返回 fullRect 且必须手动管理边距。
QRectF QPageLayout::paintRect(QPageLayout::Unit units) const
返回所需的 units 下的页面矩形。
可绘制矩形考虑了页面尺寸、方向和边距。
如果设置了 FullPageMode 模式,则返回 fullRect 且必须手动管理边距。
QRect QPageLayout::paintRectPixels(int resolution) const
返回指定 resolution 的可绘制矩形,并以四舍五入的设备像素表示。
可绘制矩形考虑了页面尺寸、方向和边距。
如果设置了 FullPageMode 模式,则返回 fullRect 且必须手动管理边距。
QRect QPageLayout::paintRectPoints() const
返回可绘制的矩形,以圆角Postscript点(1/72英寸)为单位。
可绘制矩形考虑了页面尺寸、方向和边距。
如果设置了 FullPageMode 模式,则返回 fullRect 且必须手动管理边距。
bool QPageLayout::setBottomMargin(qreal bottomMargin)
将页面布局的底部页边距设置为bottomMargin。如果成功设置边距,则返回true。
使用的单位是当前为布局定义的单位。要使用不同的单位,请先调用setUnits()。
如果在默认的StandardMode模式下,则新边距必须在设置的最低边距和页面大小允许的 最高边距之间,否则边距将不会被设置。
如果在FullPageMode模式下,则任何边距值都将被接受。
另请参阅setMargins() 和 margins。
bool QPageLayout::setLeftMargin(qreal leftMargin)
将页面布局的左侧页边距设置为leftMargin。如果成功设置边距,则返回true。
使用的单位是当前为布局定义的单位。要使用不同的单位,请先调用setUnits()。
如果在默认的StandardMode模式下,则新边距必须在设置的最低边距和页面大小允许的 最高边距之间,否则边距将不会被设置。
如果在FullPageMode模式下,则任何边距值都将被接受。
另请参阅setMargins() 和 margins。
bool QPageLayout::setMargins(const QMarginsF &margins)
将页面布局的页边距设置为margins。如果成功设置边距,则返回true。
使用的单位是当前为布局定义的单位。要使用不同的单位,请先调用setUnits()。
如果在默认的StandardMode模式下,则所有新边距必须介于设置的最低边距和页面大小允许的最高边距之间,否则边距将不会被设置。
如果在FullPageMode模式下,则任何边距值都将被接受。
void QPageLayout::setMinimumMargins(const QMarginsF &minMargins)
将页面布局的最小页边距设置为minMargins。
不建议覆盖为页面大小设置的默认值,因为这可能是物理打印设备的最低可打印区域。
如果设置了StandardMode模式,则现有边距将被夹到新的minMargins和页面大小允许的最大边距之间。如果设置了FullPageMode模式,则现有边距将保持不变。
另请参阅minimumMargins()和setMargins()。
void QPageLayout::setMode(QPageLayout::Mode mode)
将页面布局模式设置为mode。
另请参阅mode()。
void QPageLayout::setOrientation(QPageLayout::Orientation orientation)
将页面布局的页面方向设置为orientation。
更改方向不会影响当前边距或最小边距。
另请参阅orientation()。
void QPageLayout::setPageSize(const QPageSize &pageSize, const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0))
将页面布局的页面大小设置为pageSize。
可选地定义允许的最小边距minMargins,例如物理打印设备可以打印的最小边距,否则最小边距将默认为0。
如果设置了StandardMode,则现有边距将被限制在新最小边距和页面大小允许的最大边距。如果设置了FullPageMode,则现有边距将保持不变。
另请参阅pageSize().
bool QPageLayout::setRightMargin(qreal rightMargin)
将页面布局的右侧页面边距设置为rightMargin。如果边距设置成功则返回true。
使用的单位是当前为布局定义的单位。要使用不同的单位,请先调用setUnits()。
如果在默认的StandardMode模式下,则新边距必须在设置的最低边距和页面大小允许的 最高边距之间,否则边距将不会被设置。
如果在FullPageMode模式下,则任何边距值都将被接受。
另请参阅setMargins() 和 margins。
bool QPageLayout::setTopMargin(qreal topMargin)
将页面布局的顶部页面边距设置为topMargin。如果边距设置成功则返回true。
使用的单位是当前为布局定义的单位。要使用不同的单位,请先调用setUnits()。
如果在默认的StandardMode模式下,则新边距必须在设置的最低边距和页面大小允许的 最高边距之间,否则边距将不会被设置。
如果在FullPageMode模式下,则任何边距值都将被接受。
另请参阅setMargins() 和 margins。
void QPageLayout::setUnits(QPageLayout::Unit units)
设置定义页面布局时使用的units。
另请参阅units().
[noexcept]
void QPageLayout::swap(QPageLayout &;《i translate="no">其他单个)
交换此页面布局和其他。此函数非常快速且从不失败。
QPageLayout::Unit QPageLayout::units() const
返回页面布局当前定义的单位。
另请参阅setUnits().
[noexcept]
QPageLayout &QPageLayout::operator=(QPageLayout &&《i translate="no">其他单个)
移动赋值other到这个QPageLayout实例,将管理指针的所有权转移到这个实例。
QPageLayout &QPageLayout::operator=(const QPageLayout &other)
赋值运算符,将other赋值到这个。
相关非成员
bool operator!=(const QPageLayout &;《i translate="no">lhs,const QPageLayout &;《i translate="no">rhs)
如果页面布局lhs不等于页面布局rhs(即任一属性不同),则返回true
。
请注意,这是一个严格的相等性,特别是在页面大小方面,其中 QPageSize ID、名称和大小必须完全匹配,并且单位必须匹配的边距。
另请参阅 QPageLayout::isEquivalentTo。
bool operator==(const QPageLayout &lhs, const QPageLayout &rhs)
如果页面布局 lhs 等于页面布局 rhs,则返回 true
,即所有属性都完全相等。
请注意,这是一个严格的相等性,特别是在页面大小方面,其中 QPageSize ID、名称和大小必须完全匹配,并且单位必须匹配的边距。
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献是各自所有者的版权。本提供在此的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 条款许可的。Qt及其 respective 标志是芬兰和/或全球其他国家的 The Qt Company Ltd. 的商标。所有其他商标均属其各自所有者所有。