QPageLayout Class
Décrit la taille, l'orientation et les marges d'une page. Plus d'informations...
| 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) |
Non-membres apparenté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'une page dans un document paginé. La taille, l'orientation et les marges de la page peuvent être définies et les rectangles de pleine page et de page à peindre définis par ces attributs peuvent être interrogés dans une variété d'unités.
La taille de la page est définie par la classe QPageSize qui peut être interrogée sur les attributs de taille de page. Notez que le site QPageSize lui-même est toujours défini dans l'orientation Portrait.
Les marges minimales peuvent être définies pour la mise en page, mais elles sont normalement fixées par défaut à 0. Lorsqu'elles sont utilisées avec le support d'impression de Qt, les marges minimales reflètent la zone imprimable minimale définie par l'imprimante.
Dans la version par défaut de StandardMode, les marges actuelles et les marges minimales sont toujours prises en compte. Le rectangle à peindre est le rectangle pleine page moins les marges courantes, et les marges courantes ne peuvent être réglées que sur des valeurs comprises entre les marges minimales et les marges maximales autorisées par la taille de la pleine page.
Sur FullPageMode, les marges courantes et les marges minimales ne sont pas prises en compte. Le rectangle à peindre est le rectangle de la page entière et les marges courantes peuvent être fixées à 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 du mode de mise en page |
|---|---|---|
QPageLayout::StandardMode | 0 | Paint Rect inclut les marges, les marges doivent être comprises entre le minimum et le maximum. |
QPageLayout::FullPageMode | 1 | Paint Rect exclut les marges ; les marges peuvent avoir n'importe quelle valeur et doivent être gérées manuellement. |
En mode standard, lors de la définition des marges, utilisez Clamp pour réduire automatiquement les marges afin qu'elles se situent entre les valeurs minimale et maximale autorisées.
Voir également OutOfBoundsPolicy.
enum QPageLayout::Orientation
Ce type d'énumération définit l'orientation de la page
| Constante | Valeur | Description de l'orientation de la page |
|---|---|---|
QPageLayout::Portrait | 0 | La taille de la page est utilisée dans son orientation par défaut |
QPageLayout::Landscape | 1 | Le format de la page est tourné de 90 degrés |
Notez que certaines tailles de page standard sont définies avec une largeur supérieure à leur hauteur. L'orientation est donc définie par rapport à la taille de page standard et non en utilisant les dimensions relatives de la page.
[since 6.8] enum class QPageLayout::OutOfBoundsPolicy
Définit la politique pour les marges qui sont hors limites
| Constante | Valeur | Description |
|---|---|---|
QPageLayout::OutOfBoundsPolicy::Reject | 0 | Les marges doivent être comprises entre les valeurs minimale et maximale, sinon elles seront rejetées. |
QPageLayout::OutOfBoundsPolicy::Clamp | 1 | Les marges sont bloquées entre les valeurs minimales et maximales pour garantir leur validité. |
Note : La politique n'a aucun effet sur 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 est utilisé pour spécifier l'unité de mesure pour la mise en page et les marges.
| Constante | Valeur | Description de la constante |
|---|---|---|
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/6ème de pouce français, 12 Didot, 4.5mm |
Documentation sur les fonctions des membres
QPageLayout::QPageLayout()
Crée un 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 une QPageLayout avec les éléments pageSize, orientation et margins dans l'élément units.
Il est possible de 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 QPageLayout construite sera dans StandardMode.
Les pages margins données seront calées sur les marges minimales et maximales autorisées par la taille de la page.
QPageLayout::QPageLayout(const QPageLayout &other)
Copy constructor, copie other dans this.
[noexcept] QPageLayout::~QPageLayout()
Détruit la mise en page.
QRectF QPageLayout::fullRect() const
Renvoie le rectangle de la page complète dans les unités de mise en page actuelles.
Le rectangle de page tient compte de la taille et de l'orientation de la page, mais pas de ses marges.
Voir aussi paintRect() et units().
QRectF QPageLayout::fullRect(QPageLayout::Unit units) const
Renvoie le rectangle de la page complète dans le format requis units.
Le rectangle de 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 complète en pixels de l'appareil pour l'adresse resolution donnée.
Le rectangle de 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/72 de pouce).
Le rectangle de page tient compte de la taille et de l'orientation de la page, mais pas de ses marges.
Voir aussi paintRect().
bool QPageLayout::isEquivalentTo(const QPageLayout &other) const
Renvoie true si cette mise en page est équivalente à la mise en page other, c'est-à-dire si la page a la même taille, les mêmes marges et la même orientation.
bool QPageLayout::isValid() const
Renvoie true si cette mise en page est valide.
QMarginsF QPageLayout::margins() const
Renvoie les marges de la mise en page en utilisant les unités actuellement définies.
Voir aussi setMargins() et units().
QMarginsF QPageLayout::margins(QPageLayout::Unit units) const
Renvoie les marges de la mise en page à l'aide de l'adresse units.
Voir aussi setMargins() et margins().
QMargins QPageLayout::marginsPixels(int resolution) const
Renvoie les marges de la mise en page en pixels de périphérique pour l'adresse resolution donnée.
Voir aussi setMargins().
QMargins QPageLayout::marginsPoints() const
Renvoie les marges de la mise en page en points Postscript (1/72 de pouce).
Voir aussi setMargins() et margins().
QMarginsF QPageLayout::maximumMargins() const
Renvoie les marges maximales qui seraient appliquées si la mise en page était dans StandardMode.
Les marges maximales autorisées sont calculées comme la taille totale de la page moins les marges minimales définies. 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 de 90 points.
Voir également setMinimumMargins() et minimumMargins().
QMarginsF QPageLayout::minimumMargins() const
Renvoie les marges minimales de la mise en page.
Voir aussi 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 page de la mise en page.
Voir aussi setOrientation().
QPageSize QPageLayout::pageSize() const
Renvoie la taille de la page de la mise en page.
Notez que le site QPageSize est toujours défini dans une orientation Portrait. Pour obtenir une taille qui tienne compte de l'orientation définie, vous devez utiliser 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 à peindre tient compte de la taille, de l'orientation et des marges de la page.
Si le mode FullPageMode est activé, fullRect() est renvoyé et les marges doivent être gérées manuellement.
QRectF QPageLayout::paintRect(QPageLayout::Unit units) const
Renvoie le rectangle de la page dans le format requis units.
Le rectangle à peindre tient compte de la taille, de l'orientation et des marges de la page.
Si le mode FullPageMode est activé, fullRect() est renvoyé et les marges doivent être gérées manuellement.
QRect QPageLayout::paintRectPixels(int resolution) const
Renvoie le rectangle à peindre en pixels arrondis pour l'appareil donné resolution.
Le rectangle à peindre tient compte de la taille de la page, de l'orientation et des marges.
Si le mode FullPageMode est défini, fullRect() est renvoyé et les marges doivent être gérées manuellement.
QRect QPageLayout::paintRectPoints() const
Renvoie le rectangle à peindre en points Postscript arrondis (1/72 de pouce).
Le rectangle à peindre tient compte de la taille de la page, de l'orientation et des marges.
Si le mode FullPageMode est activé, fullRect() est renvoyé et les marges doivent être gérées manuellement.
bool QPageLayout::setBottomMargin(qreal bottomMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
Fixe la marge inférieure de la mise en page à bottomMargin. Renvoie un résultat positif 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 des unités différentes, appelez d'abord setUnits().
Depuis Qt 6.8, l'option outOfBoundsPolicy peut être utilisée pour spécifier comment les marges hors limites sont traitées.
Voir aussi setMargins() et margins().
bool QPageLayout::setLeftMargin(qreal leftMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
Définit la marge gauche de la mise en page à leftMargin. Renvoie un résultat positif 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 des unités différentes, appelez d'abord setUnits().
Depuis Qt 6.8, l'option outOfBoundsPolicy peut être utilisée pour spécifier comment les marges hors limites sont traitées.
Voir aussi setMargins() et margins().
bool QPageLayout::setMargins(const QMarginsF &margins, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
Définit les marges de la mise en page à margins. Retourne vrai 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 des unités différentes, appelez d'abord setUnits().
Depuis Qt 6.8, l'option outOfBoundsPolicy peut être utilisée pour spécifier comment les marges hors limites sont traitées.
Voir aussi margins() et units().
void QPageLayout::setMinimumMargins(const QMarginsF &minMargins)
Définit les marges minimales de la mise en page à minMargins.
Il n'est pas recommandé de remplacer les valeurs par défaut définies pour une taille de page, car il peut s'agir de la zone imprimable minimale pour un périphérique d'impression physique.
Si le mode StandardMode est défini, les marges existantes seront ajustées à la nouvelle valeur minMargins et au maximum autorisé par la taille de la page. Si le mode FullPageMode est activé, les marges existantes restent inchangées.
Voir également minimumMargins() et setMargins().
void QPageLayout::setMode(QPageLayout::Mode mode)
Définit un mode de mise en page à mode.
Voir aussi 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 pas les marges actuelles ni les marges minimales.
Voir également 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 à pageSize.
Définissez éventuellement les marges minimales autorisées minMargins, par exemple 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 calées sur les nouvelles marges minimales et les marges maximales autorisées par la taille de la page. Si FullPageMode est défini, les marges existantes resteront inchangées.
Voir aussi pageSize().
bool QPageLayout::setRightMargin(qreal rightMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
Fixe la marge droite de la mise en page à rightMargin. Renvoie un résultat positif 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 des unités différentes, appelez d'abord setUnits().
Depuis Qt 6.8, l'option outOfBoundsPolicy peut être utilisée pour spécifier comment les marges hors limites sont traitées.
Voir aussi setMargins() et margins().
bool QPageLayout::setTopMargin(qreal topMargin, QPageLayout::OutOfBoundsPolicy outOfBoundsPolicy = OutOfBoundsPolicy::Reject)
Définit la marge supérieure de la mise en page à topMargin. Renvoie un résultat positif 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 des unités différentes, appelez d'abord setUnits().
Depuis Qt 6.8, l'option outOfBoundsPolicy peut être utilisée pour spécifier comment les marges hors limites sont traitées.
Voir aussi setMargins() et margins().
void QPageLayout::setUnits(QPageLayout::Unit units)
Définit le site units utilisé pour définir la mise en page.
Voir aussi units().
[noexcept] void QPageLayout::swap(QPageLayout &other)
Remplace cette mise en page par other. Cette opération est très rapide et n'échoue jamais.
QPageLayout::Unit QPageLayout::units() const
Renvoie les unités dans lesquelles la mise en page est actuellement définie.
Voir aussi setUnits().
[noexcept] QPageLayout &QPageLayout::operator=(QPageLayout &&other)
Move-assigne other à cette instance QPageLayout, en transférant la propriété du pointeur géré à cette instance.
QPageLayout &QPageLayout::operator=(const QPageLayout &other)
L'opérateur d'affectation, attribue other à ceci.
Non-membres apparenté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, pour laquelle l'ID, le nom et la taille de QPageSize doivent correspondre exactement, et pour les marges, pour lesquelles 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, pour laquelle l'ID, le nom et la taille de QPageSize doivent correspondre exactement, et pour les marges, pour lesquelles 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.