Sur cette page

QPageLayout Class

Décrit le format, l'orientation et les marges d'une page. En savoir plus...

En-tête : #include <QPageLayout>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Types publics

enum Mode { StandardMode, FullPageMode }
enum Orientation { Portrait, Landscape }
(since 6.8) enum class OutOfBoundsPolicy { Reject, Clamp }
enum Unit { Millimeter, Point, Inch, Pica, Didot, Cicero }

Fonctions publiques

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, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
bool setLeftMargin(qreal leftMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
bool setMargins(const QMarginsF &margins, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
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, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
bool setTopMargin(qreal topMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
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)

Description détaillée

La classe QPageLayout définit la mise en page d’un document paginé ; elle permet de définir la taille, l’orientation et les marges de la page, et d’interroger les rectangles de la page entière et de la page imprimable, définis par ces attributs, dans diverses unités de mesure.

La taille de la page est définie par la classe ` QPageSize `, dont les attributs de taille de page peuvent être interrogés. Notez que l’ QPageSize e elle-même est toujours définie en orientation Portrait.

Les marges minimales peuvent être définies pour la mise en page, mais leur valeur par défaut est généralement 0. Lorsqu’elles sont utilisées conjointement avec le Qt Print Support, les marges minimales reflètent la zone d’impression minimale définie par l’imprimante.

Dans l’ StandardMode par défaut, les marges actuelles et les marges minimales sont toujours prises en compte. Le rectangle imprimable correspond au rectangle de la page entière moins les marges actuelles, et ces dernières ne peuvent être définies que sur des valeurs comprises entre les marges minimales et les marges maximales autorisées par la taille totale de la page.

En mode « FullPageMode », les marges actuelles et les marges minimales ne sont pas prises en compte. Le rectangle imprimable correspond au rectangle de la page entière, et les marges actuelles peuvent être définies sur n’importe quelle valeur, indépendamment des marges minimales et de la taille de la page.

Voir également QPageSize.

Documentation sur les types de membres

enum QPageLayout::Mode

Définit le mode de mise en page

ConstanteValeurDescription
QPageLayout::StandardMode0« Paint Rect » inclut les marges ; celles-ci doivent se situer entre les valeurs minimale et maximale.
QPageLayout::FullPageMode1Le mode « Paint Rect » exclut les marges ; celles-ci peuvent prendre n'importe quelle valeur et doivent être gérées manuellement.

En mode StandardMode, lors de la définition des marges, utilisez la méthode Clamp pour limiter automatiquement les marges afin qu’elles se situent entre les valeurs minimales et maximales autorisées.

Voir également OutOfBoundsPolicy.

enum QPageLayout::Orientation

Ce type d'énumération définit l'orientation de la page

ConstanteValeurDescription
QPageLayout::Portrait0Le format de la page est utilisé dans son orientation par défaut
QPageLayout::Landscape1Le format de la page est pivoté de 90 degrés

Notez que certains formats de page standard sont définis avec une largeur supérieure à leur hauteur ; l'orientation est donc définie par rapport au format de page standard et non à partir des dimensions relatives de la page.

[since 6.8] enum class QPageLayout::OutOfBoundsPolicy

Définit la politique relative aux marges hors limites

ConstanteValeurDescription
QPageLayout::OutOfBoundsPolicy::Reject0Les marges doivent se situer entre les valeurs minimale et maximale, sinon elles seront rejetées.
QPageLayout::OutOfBoundsPolicy::Clamp1Les marges sont limitées entre les valeurs minimale et maximale afin de garantir leur validité.

Remarque : cette règle n’a aucun effet dans « FullPageMode », où toutes les marges sont acceptées.

Cette énumération a été introduite dans Qt 6.8.

enum QPageLayout::Unit

Ce type d'énumération sert à spécifier l'unité de mesure pour la mise en page et les marges.

ConstanteValeurDescription
QPageLayout::Millimeter0 
QPageLayout::Point11/72e de pouce
QPageLayout::Inch2 
QPageLayout::Pica31/72e de pied, 1/6e de pouce, 12 points
QPageLayout::Didot41/72e de pouce français, 0,375 mm
QPageLayout::Cicero51/6e de pouce français, 12 Didot, 4,5 mm

Documentation sur les fonctions des membres

QPageLayout::QPageLayout()

Crée un objet `QPageLayout` non valide.

QPageLayout::QPageLayout(const QPageSize &pageSize, QPageLayout::Orientation orientation, const QMarginsF &margins, QPageLayout::Unit units = Point, const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0))

Crée un objet `QPageLayout` avec les paramètres ` pageSize`, ` orientation ` et ` margins ` spécifiés, dans le fichier ` units` indiqué.

Vous pouvez éventuellement définir les marges minimales autorisées minMargins, par exemple les marges minimales pouvant être imprimées par un périphérique d’impression physique.

La mise en page QPageLayout ainsi construite se trouvera dans StandardMode.

Le fichier margins fourni sera limité aux marges minimales et maximales autorisées par la taille de la page.

QPageLayout::QPageLayout(const QPageLayout &other)

Constructeur de copie : copie la valeur de ` other ` dans `this`.

[noexcept] QPageLayout::~QPageLayout()

Cela perturbe la mise en page.

QRectF QPageLayout::fullRect() const

Renvoie le rectangle de la page entière dans les unités de mise en page actuelles.

Le rectangle de la page tient compte de la taille et de l'orientation de la page, mais pas de ses marges.

Voir également paintRect() et units().

QRectF QPageLayout::fullRect(QPageLayout::Unit units) const

Renvoie le rectangle de la page entière selon l'units e spécifiée.

Le rectangle de la page tient compte de la taille et de l’orientation de la page, mais pas de ses marges.

Voir également paintRect().

QRect QPageLayout::fullRectPixels(int resolution) const

Renvoie le rectangle de la page entière en pixels de l'appareil pour l'resolution donné.

Le rectangle de la page tient compte de la taille et de l'orientation de la page, mais pas de ses marges.

Voir également paintRect().

QRect QPageLayout::fullRectPoints() const

Renvoie le rectangle de la page entière en points PostScript (1/72e de pouce).

Le rectangle de la page tient compte de la taille et de l’orientation de la page, mais pas de ses marges.

Voir également paintRect().

bool QPageLayout::isEquivalentTo(const QPageLayout &other) const

Renvoie « true » si cette mise en page est équivalente à celle de la page other, c'est-à-dire si la page présente les mêmes dimensions, marges et orientation.

bool QPageLayout::isValid() const

Renvoie « true » si la mise en page de cette page est valide.

QMarginsF QPageLayout::margins() const

Renvoie les marges de la mise en page en utilisant les unités actuellement définies.

Voir également setMargins() et units().

QMarginsF QPageLayout::margins(QPageLayout::Unit units) const

Renvoie les marges de la mise en page à l'aide de l'units demandé.

Voir également setMargins() et margins().

QMargins QPageLayout::marginsPixels(int resolution) const

Renvoie les marges de la mise en page en pixels de l'appareil pour l'resolution donné.

Voir aussi setMargins().

QMargins QPageLayout::marginsPoints() const

Renvoie les marges de la mise en page en points PostScript (1/72e de pouce).

Voir également setMargins() et margins().

QMarginsF QPageLayout::maximumMargins() const

Renvoie les marges maximales qui seraient appliquées si la mise en page était définie sur « StandardMode ».

Les marges maximales autorisées sont calculées en soustrayant les marges minimales définies de la taille totale de la page. Par exemple, si la largeur de la page est de 100 points et que la marge droite minimale est de 10 points, la marge gauche maximale sera alors de 90 points.

Voir également setMinimumMargins() et minimumMargins().

QMarginsF QPageLayout::minimumMargins() const

Renvoie les marges minimales de la mise en page.

Voir également setMinimumMargins() et maximumMargins().

QPageLayout::Mode QPageLayout::mode() const

Renvoie le mode de mise en page.

Voir aussi setMode().

QPageLayout::Orientation QPageLayout::orientation() const

Renvoie l'orientation de la mise en page.

Voir aussi setOrientation().

QPageSize QPageLayout::pageSize() const

Renvoie la taille de la mise en page.

Notez que la fonction ` QPageSize ` est toujours définie en orientation Portrait. Pour obtenir une taille tenant compte de l'orientation définie, vous devez utiliser la fonction ` fullRect()`.

Voir également setPageSize().

QRectF QPageLayout::paintRect() const

Renvoie le rectangle de la page dans les unités de mise en page actuelles.

Le rectangle de dessin tient compte de la taille de la page, de son orientation et de ses marges.

Si le mode « FullPageMode » est activé, la fonction ` fullRect()` est renvoyée et les marges doivent être gérées manuellement.

QRectF QPageLayout::paintRect(QPageLayout::Unit units) const

Renvoie le rectangle de la page selon l'units e souhaitée.

Le rectangle de dessin tient compte de la taille de la page, de son orientation et de ses marges.

Si le mode « FullPageMode » est activé, la fonction ` fullRect()` est renvoyée et les marges doivent être gérées manuellement.

QRect QPageLayout::paintRectPixels(int resolution) const

Renvoie le rectangle pouvant être peint, en pixels d'appareil arrondis, pour l'resolution donnée.

Le rectangle peignable tient compte de la taille de la page, de son orientation et de ses marges.

Si le mode « FullPageMode » est activé, la fonction ` fullRect()` est renvoyée et les marges doivent être gérées manuellement.

QRect QPageLayout::paintRectPoints() const

Renvoie le rectangle pouvant être peint, exprimé en points PostScript arrondis (1/72e de pouce).

Le rectangle de dessin tient compte de la taille de la page, de son orientation et de ses marges.

Si le mode « FullPageMode » est activé, la fonction ` fullRect()` est renvoyée et les marges doivent être gérées manuellement.

bool QPageLayout::setBottomMargin(qreal bottomMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)

Définit la marge inférieure de la mise en page sur bottomMargin. Renvoie « true » si la marge a été définie avec succès.

Les unités utilisées sont celles actuellement définies pour la mise en page. Pour utiliser d’autres unités, appelez d’abord ` setUnits()`.

Depuis Qt 6.8, l’option outOfBoundsPolicy permet de spécifier comment traiter les marges qui dépassent les limites.

Voir également setMargins() et margins().

bool QPageLayout::setLeftMargin(qreal leftMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)

Définit la marge gauche de la mise en page sur leftMargin. Renvoie « true » si la marge a bien été définie.

Les unités utilisées sont celles actuellement définies pour la mise en page. Pour utiliser d’autres unités, appelez d’abord ` setUnits()`.

Depuis Qt 6.8, l’option outOfBoundsPolicy permet de spécifier comment traiter les marges qui dépassent les limites.

Voir également setMargins() et margins().

bool QPageLayout::setMargins(const QMarginsF &margins, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)

Définit les marges de la mise en page sur margins. Renvoie « true » si les marges ont été définies avec succès.

Les unités utilisées sont celles actuellement définies pour la mise en page. Pour utiliser d'autres unités, appelez d'abord la fonction ` setUnits()`.

Depuis Qt 6.8, l’option outOfBoundsPolicy permet de spécifier comment traiter les marges qui dépassent les limites.

Voir également margins() et units().

void QPageLayout::setMinimumMargins(const QMarginsF &minMargins)

Définit les marges minimales de la mise en page sur minMargins.

Il n’est pas recommandé de remplacer les valeurs par défaut définies pour un format de page, car il peut s’agir de la zone d’impression minimale pour un périphérique d’impression physique.

Si le mode « StandardMode » est activé, les marges existantes seront limitées à la nouvelle valeur « minMargins » et à la valeur maximale autorisée par le format de page. Si le mode « FullPageMode » est activé, les marges existantes resteront inchangées.

Voir également minimumMargins() et setMargins().

void QPageLayout::setMode(QPageLayout::Mode mode)

Définit le mode de mise en page sur « mode ».

Voir également mode().

void QPageLayout::setOrientation(QPageLayout::Orientation orientation)

Définit l'orientation de la mise en page sur « orientation ».

La modification de l'orientation n'affecte ni les marges actuelles ni les marges minimales.

Voir aussi orientation().

void QPageLayout::setPageSize(const QPageSize &pageSize, const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0))

Définit la taille de la page de la mise en page sur pageSize.

Vous pouvez également définir les marges minimales autorisées minMargins, c'est-à-dire les marges minimales pouvant être imprimées par un périphérique d'impression physique ; sinon, les marges minimales seront fixées par défaut à 0.

Si ` StandardMode ` est défini, les marges existantes seront limitées aux nouvelles marges minimales et aux marges maximales autorisées par la taille de la page. Si ` FullPageMode ` est défini, les marges existantes resteront inchangées.

Voir également pageSize().

bool QPageLayout::setRightMargin(qreal rightMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)

Définit la marge droite de la mise en page sur rightMargin. Renvoie « true » si la marge a été définie avec succès.

Les unités utilisées sont celles actuellement définies pour la mise en page. Pour utiliser d’autres unités, appelez d’abord setUnits().

Depuis Qt 6.8, l’option outOfBoundsPolicy permet de spécifier comment traiter les marges qui dépassent les limites.

Voir également setMargins() et margins().

bool QPageLayout::setTopMargin(qreal topMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)

Définit la marge supérieure de la mise en page sur topMargin. Renvoie « true » si la marge a bien été définie.

Les unités utilisées sont celles actuellement définies pour la mise en page. Pour utiliser d’autres unités, appelez d’abord ` setUnits()`.

Depuis Qt 6.8, l’option outOfBoundsPolicy permet de spécifier comment traiter les marges qui dépassent les limites.

Voir également setMargins() et margins().

void QPageLayout::setUnits(QPageLayout::Unit units)

Définit l'units e utilisé pour définir la mise en page.

Voir aussi units().

[noexcept] void QPageLayout::swap(QPageLayout &other)

Permet d'échanger la mise en page de cette page contre celle de other. Cette opération est très rapide et ne pose jamais de problème.

QPageLayout::Unit QPageLayout::units() const

Renvoie les unités dans lesquelles la mise en page est actuellement définie.

Voir également setUnits().

[noexcept] QPageLayout &QPageLayout::operator=(QPageLayout &&other)

La commande « move-assign » attribue la variable ` other ` à cette instance ` QPageLayout `, transférant ainsi la propriété du pointeur géré à cette instance.

QPageLayout &QPageLayout::operator=(const QPageLayout &other)

Opérateur d'affectation : affecte la valeur « other » à « this ».

Éléments non membres associés

bool operator!=(const QPageLayout &lhs, const QPageLayout &rhs)

Renvoie « true » si la mise en page lhs n'est pas égale à la mise en page rhs, c'est-à-dire si l'un des attributs diffère.

Notez qu’il s’agit d’une égalité stricte, en particulier pour la taille de la page où l’ID, le nom et la taille de QPageSize doivent correspondre exactement, ainsi que pour les marges où les unités doivent correspondre.

Voir également QPageLayout::isEquivalentTo().

bool operator==(const QPageLayout &lhs, const QPageLayout &rhs)

Renvoie « true » si la mise en page lhs est égale à la mise en page rhs, c'est-à-dire si tous les attributs sont exactement identiques.

Notez qu’il s’agit d’une égalité stricte, en particulier pour la taille de la page, où l’ID, le nom et la taille de QPageSize doivent correspondre exactement, ainsi que pour les marges, où les unités doivent correspondre.

Voir également QPageLayout::isEquivalentTo().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.