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) |
Éléments non membres associés
| 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
| Constante | Valeur | Description |
|---|---|---|
QPageLayout::StandardMode | 0 | « Paint Rect » inclut les marges ; celles-ci doivent se situer entre les valeurs minimale et maximale. |
QPageLayout::FullPageMode | 1 | Le 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
| Constante | Valeur | Description |
|---|---|---|
QPageLayout::Portrait | 0 | Le format de la page est utilisé dans son orientation par défaut |
QPageLayout::Landscape | 1 | Le 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
| Constante | Valeur | Description |
|---|---|---|
QPageLayout::OutOfBoundsPolicy::Reject | 0 | Les marges doivent se situer entre les valeurs minimale et maximale, sinon elles seront rejetées. |
QPageLayout::OutOfBoundsPolicy::Clamp | 1 | Les 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.
| Constante | Valeur | Description |
|---|---|---|
QPageLayout::Millimeter | 0 | |
QPageLayout::Point | 1 | 1/72e de pouce |
QPageLayout::Inch | 2 | |
QPageLayout::Pica | 3 | 1/72e de pied, 1/6e de pouce, 12 points |
QPageLayout::Didot | 4 | 1/72e de pouce français, 0,375 mm |
QPageLayout::Cicero | 5 | 1/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.