Sur cette page

QPageSize Class

La classe QPageSize décrit la taille et le nom d'un format de page défini. En savoir plus...

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

Types publics

enum PageSizeId { A0, A1, A2, A3, A4, …, LastPageSize }
enum SizeMatchPolicy { FuzzyMatch, FuzzyOrientationMatch, ExactMatch }
enum Unit { Millimeter, Point, Inch, Pica, Didot, Cicero }

Fonctions publiques

QPageSize()
QPageSize(QPageSize::PageSizeId pageSize)
QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize(const QSizeF &size, QPageSize::Unit units, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize(const QPageSize &other)
~QPageSize()
QSizeF definitionSize() const
QPageSize::Unit definitionUnits() const
QPageSize::PageSizeId id() const
bool isEquivalentTo(const QPageSize &other) const
bool isValid() const
QString key() const
QString name() const
QRectF rect(QPageSize::Unit units) const
QRect rectPixels(int resolution) const
QRect rectPoints() const
QSizeF size(QPageSize::Unit units) const
QSize sizePixels(int resolution) const
QSize sizePoints() const
void swap(QPageSize &other)
int windowsId() const
QPageSize &operator=(QPageSize &&other)
QPageSize &operator=(const QPageSize &other)

Membres publics statiques

QSizeF definitionSize(QPageSize::PageSizeId pageSizeId)
QPageSize::Unit definitionUnits(QPageSize::PageSizeId pageSizeId)
QPageSize::PageSizeId id(int windowsId)
QPageSize::PageSizeId id(const QSize &pointSize, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize::PageSizeId id(const QSizeF &size, QPageSize::Unit units, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QString key(QPageSize::PageSizeId pageSizeId)
QString name(QPageSize::PageSizeId pageSizeId)
QSizeF size(QPageSize::PageSizeId pageSizeId, QPageSize::Unit units)
QSize sizePixels(QPageSize::PageSizeId pageSizeId, int resolution)
QSize sizePoints(QPageSize::PageSizeId pageSizeId)
int windowsId(QPageSize::PageSizeId pageSizeId)
bool operator!=(const QPageSize &lhs, const QPageSize &rhs)
bool operator==(const QPageSize &lhs, const QPageSize &rhs)

Description détaillée

Cette classe prend en charge l'ensemble des formats de page standard tels que définis dans la norme Adobe PostScript PPD v4.3. Elle définit l'ensemble standard des formats de page en points, millimètres et pouces, et garantit une utilisation cohérente de ces formats. D'autres unités de mesure peuvent être utilisées, mais les résultats seront calculés et ne seront donc pas toujours cohérents. Les tailles en points définies sont toujours des nombres entiers ; toutes les autres tailles peuvent être des fractions d’une unité.

La taille définie est toujours exprimée dans l’ordre largeur × hauteur, sans orientation de page implicite. Notez qu’il est possible de définir des formats de page où la largeur est supérieure à la hauteur, comme QPageSize::Ledger; vous ne pouvez donc pas vous fier à la comparaison des valeurs de largeur et de hauteur pour déterminer l’orientation de la page.

Par exemple, le format A4 est défini par la norme comme étant de 210 mm × 297 mm, 8,27 pouces × 11,69 pouces ou 595 pt × 842 pt.

Vous pouvez également définir des formats de page personnalisés avec des noms de votre choix, dans les unités de votre choix ; cette unité de mesure sera conservée et servira de base à tous les autres calculs d’unités de mesure.

Lorsque vous créez un QPageSize à partir d’une taille personnalisée ( QSize ), vous pouvez choisir si vous souhaitez que QPageSize tente de faire correspondre cette taille à une taille de page standard. Par défaut, QPaperSize utilise un mode « FuzzyMatch » (approximation) : il fera correspondre une taille de page donnée à une taille de page standard si l’écart ne dépasse pas 3 points PostScript par rapport à une taille standard définie. Vous pouvez passer outre ce comportement pour exiger une correspondance exacte, mais cela n’est pas recommandé car les conversions entre unités peuvent facilement entraîner une perte de 3 points et aboutir à des tailles de page incorrectes.

Une instance de `QPageSize` peut également être obtenue en interrogeant les formats de page pris en charge par un périphérique d’impression. Dans ce cas, le nom localisé renvoyé est celui défini par l’imprimante elle-même. Notez que le périphérique d’impression peut ne pas prendre en charge la langue de localisation par défaut actuelle.

La classe fournit également des méthodes pratiques pour convertir les identifiants de taille de page vers et depuis différentes unités de mesure.

Voir également QPagedPaintDevice et QPdfWriter.

Documentation sur les types de membres

enum QPageSize::PageSizeId

Ce type d'énumération répertorie les formats de page disponibles tels qu'ils sont définis dans la norme Postscript PPD. Ces valeurs sont reprises dans QPagedPaintDevice et QPrinter.

Les formats définis sont les suivants :

ConstanteValeurDescription
QPageSize::A03841 x 1 189 mm
QPageSize::A14594 x 841 mm
QPageSize::A25420 x 594 mm
QPageSize::A36297 x 420 mm
QPageSize::A47210 x 297 mm, 8,26 x 11,69 pouces
QPageSize::A58148 x 210 mm
QPageSize::A69105 x 148 mm
QPageSize::A71074 x 105 mm
QPageSize::A81152 x 74 mm
QPageSize::A91237 x 52 mm
QPageSize::B0141 000 x 1 414 mm
QPageSize::B115707 x 1 000 mm
QPageSize::B216500 x 707 mm
QPageSize::B317353 x 500 mm
QPageSize::B418250 × 353 mm
QPageSize::B519176 x 250 mm, 6,93 x 9,84 pouces
QPageSize::B620125 x 176 mm
QPageSize::B72188 x 125 mm
QPageSize::B82262 x 88 mm
QPageSize::B92344 x 62 mm
QPageSize::B102431 x 44 mm
QPageSize::C5E25163 x 229 mm
QPageSize::Comm10E26105 x 241 mm, enveloppe américaine standard n° 10
QPageSize::DLE27110 x 220 mm
QPageSize::Executive27,5 x 10 pouces, 190,5 x 254 mm
QPageSize::Folio28210 x 330 mm
QPageSize::Ledger29431,8 x 279,4 mm
QPageSize::Legal18,5 x 14 pouces, 215,9 x 355,6 mm
QPageSize::Letter08,5 x 11 pouces, 215,9 x 279,4 mm
QPageSize::Tabloid30279,4 x 431,8 mm
QPageSize::Custom31Inconnu, ou un format défini par l'utilisateur.
QPageSize::A1013 
QPageSize::A3Extra32 
QPageSize::A4Extra33 
QPageSize::A4Plus34 
QPageSize::A4Small35 
QPageSize::A5Extra36 
QPageSize::B5Extra37 
QPageSize::JisB038 
QPageSize::JisB139 
QPageSize::JisB240 
QPageSize::JisB341 
QPageSize::JisB442 
QPageSize::JisB543 
QPageSize::JisB644,
QPageSize::JisB745 
QPageSize::JisB846 
QPageSize::JisB947 
QPageSize::JisB1048 
QPageSize::AnsiALetter= Lettre
QPageSize::AnsiBLedger= Grand livre
QPageSize::AnsiC49 
QPageSize::AnsiD50 
QPageSize::AnsiE51 
QPageSize::LegalExtra52 
QPageSize::LetterExtra53 
QPageSize::LetterPlus54 
QPageSize::LetterSmall55 
QPageSize::TabloidExtra56 
QPageSize::ArchA57 
QPageSize::ArchB58 
QPageSize::ArchC59 
QPageSize::ArchD60 
QPageSize::ArchE61 
QPageSize::Imperial7x962 
QPageSize::Imperial8x1063 
QPageSize::Imperial9x1164 
QPageSize::Imperial9x1265 
QPageSize::Imperial10x1166 
QPageSize::Imperial10x1367 
QPageSize::Imperial10x1468 
QPageSize::Imperial12x1169 
QPageSize::Imperial15x1170 
QPageSize::ExecutiveStandard71 
QPageSize::Note72 
QPageSize::Quarto73 
QPageSize::Statement74 
QPageSize::SuperA75 
QPageSize::SuperB76 
QPageSize::Postcard77 
QPageSize::DoublePostcard78 
QPageSize::Prc16K79 
QPageSize::Prc32K80 
QPageSize::Prc32KBig81 
QPageSize::FanFoldUS82 
QPageSize::FanFoldGerman83 
QPageSize::FanFoldGermanLegal84 
QPageSize::EnvelopeB485 
QPageSize::EnvelopeB586 
QPageSize::EnvelopeB687 
QPageSize::EnvelopeC088 
QPageSize::EnvelopeC189 
QPageSize::EnvelopeC290 
QPageSize::EnvelopeC391 
QPageSize::EnvelopeC492 
QPageSize::EnvelopeC5C5E= C5E
QPageSize::EnvelopeC693 
QPageSize::EnvelopeC6594 
QPageSize::EnvelopeC795 
QPageSize::EnvelopeDLDLE= DLE
QPageSize::Envelope996 
QPageSize::Envelope10Comm10E= Comm10E
QPageSize::Envelope1197 
QPageSize::Envelope1298 
QPageSize::Envelope1499 
QPageSize::EnvelopeMonarch100 
QPageSize::EnvelopePersonal101 
QPageSize::EnvelopeChou3102 
QPageSize::EnvelopeChou4103 
QPageSize::EnvelopeInvite104 
QPageSize::EnvelopeItalian105 
QPageSize::EnvelopeKaku2106 
QPageSize::EnvelopeKaku3107 
QPageSize::EnvelopePrc1108 
QPageSize::EnvelopePrc2109 
QPageSize::EnvelopePrc3110 
QPageSize::EnvelopePrc4111 
QPageSize::EnvelopePrc5112 
QPageSize::EnvelopePrc6113 
QPageSize::EnvelopePrc7114 
QPageSize::EnvelopePrc8115 
QPageSize::EnvelopePrc9116 
QPageSize::EnvelopePrc10117 
QPageSize::EnvelopeYou4118 
QPageSize::LastPageSizeEnvelopeYou4= EnvelopeYou4

Pour des raisons historiques, QPageSize::Executive ne correspond pas au format standard Postscript et Windows « Executive » ; utilisez plutôt QPageSize::ExecutiveStandard.

La taille standard Postscript QPageSize::Folio diffère de la taille Windows DMPAPER_FOLIO ; utilisez la taille standard Postscript QPageSize::FanFoldGermanLegal si nécessaire.

enum QPageSize::SizeMatchPolicy

ConstanteValeurDescription
QPageSize::FuzzyMatch0S'aligner sur un format de page standard si la marge de tolérance est respectée.
QPageSize::FuzzyOrientationMatch1Correspond à un format de page standard si les dimensions se situent dans la marge de tolérance, quelle que soit l’orientation.
QPageSize::ExactMatch2Ne correspond à un format de page standard que si les dimensions correspondent exactement.

enum QPageSize::Unit

Ce type d'énumération sert à spécifier l'unité de mesure des dimensions de page.

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

Documentation sur les fonctions des membres

QPageSize::QPageSize()

Crée un objet QPageSize de type null.

QPageSize::QPageSize(QPageSize::PageSizeId pageSize)

Crée un objet `QPageSize` de la taille standard ` pageSize`.

Si pageSize est QPageSize::Custom, le QPageSize obtenu ne sera pas valide. Utilisez plutôt le constructeur de taille personnalisée.

[explicit] QPageSize::QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)

Crée une instance de `QPageSize` correspondant à l'pointSize fournie en points, en utilisant l'matchPolicy correspondante.

Si l’ pointSize fournie correspond à une QPageSize::PageSizeId standard, c’est cette taille de page qui sera utilisée. Notez que si l’ matchPolicy est FuzzyMatch, cela peut entraîner l’ajustement de l’ pointSize à la taille standard. Pour éviter cela, utilisez plutôt une matchPolicy de type ExactMatch.

Si l’ pointSize fournie n’est pas une QPageSize::PageSizeId standard, une taille de QPageSize::Custom sera créée.

Si name est nul, le nom localisé standard sera utilisé. S’il s’agit d’un format de page personnalisé, un nom personnalisé au format « Personnalisé (largeur x hauteur) » sera créé.

La valeur par défaut de matchPolicy est FuzzyMatch.

[explicit] QPageSize::QPageSize(const QSizeF &size, QPageSize::Unit units, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)

Crée une page personnalisée à l'adresse size sur units.

Si l'size fournie correspond à un format standard de QPageSize::PageSizeId, alors la taille de cette page sera utilisée. Notez que si l'matchPolicy est FuzzyMatch, cela peut entraîner l'ajustement de l'size à la taille standard. Pour éviter cela, utilisez plutôt une matchPolicy de type ExactMatch.

Si l’ size fournie n’est pas une QPageSize::PageSizeId standard, une taille QPageSize::Custom sera créée. La taille d’origine sera conservée et servira de base à tous les autres calculs de taille.

Si name est nul, un nom personnalisé sera créé sous la forme « Personnalisé (largeur x hauteur) », la taille étant exprimée dans les unités fournies.

QPageSize::QPageSize(const QPageSize &other)

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

[noexcept] QPageSize::~QPageSize()

Supprime la page.

QSizeF QPageSize::definitionSize() const

Renvoie la taille de définition de la page.

Pour un format de page standard, il s'agira de la taille définie dans la norme correspondante ; ainsi, le format ISO A4 sera défini en millimètres, tandis que le format ANSI Letter sera défini en pouces.

Pour un format de page personnalisé, il s'agira de la taille d'origine utilisée pour créer l'objet de format de page.

Si l'QPageSize e n'est pas valide, l'QSizeF e sera également invalide.

Voir également definitionUnits().

[static] QSizeF QPageSize::definitionSize(QPageSize::PageSizeId pageSizeId)

Renvoie la taille de définition de l'pageSizeId.

Pour obtenir les unités de définition, appelez la fonction ` QPageSize::definitionUnits()`.

QPageSize::Unit QPageSize::definitionUnits() const

Renvoie les unités de définition du format de la page.

Pour un format de page standard, il s'agira des unités définies dans la norme correspondante ; par exemple, le format ISO A4 sera défini en millimètres tandis que le format ANSI Letter sera défini en pouces.

Pour un format de page personnalisé, il s’agira des unités d’origine utilisées pour créer l’objet de format de page.

Si l'QPageSize n'est pas valide, l'QPageSize::Unit ne sera pas valide.

Voir également definitionSize().

[static] QPageSize::Unit QPageSize::definitionUnits(QPageSize::PageSizeId pageSizeId)

Renvoie les unités de définition de la norme pageSizeId.

Pour obtenir la taille de définition, appelez la fonction ` QPageSize::definitionSize()`.

QPageSize::PageSizeId QPageSize::id() const

Renvoie l'QPageSize::PageSizeId e standard de la page, ou QPageSize::Custom.

Si l'QPageSize n'est pas valide, l'ID sera QPageSize::Custom.

[static] QPageSize::PageSizeId QPageSize::id(int windowsId)

Renvoie l'PageSizeId correspondant à la valeur donnée de l'énumération Windows DMPAPER windowsId.

S'il n'existe aucun « PageSizeId » correspondant, la valeur QPageSize::Custom est renvoyée.

[static] QPageSize::PageSizeId QPageSize::id(const QSize &pointSize, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)

Renvoie l'QPageSize::PageSizeId standard de l'pointSize donnée en points à l'aide de l'matchPolicy fournie.

Si vous utilisez FuzzyMatch, la taille en points de l’ PageSizeId renvoyée peut ne pas correspondre exactement à la pointSize que vous avez fournie. Vous devez appeler QPageSize::sizePoints() en utilisant l’ PageSizeId renvoyée pour connaître la taille réelle en points de l’ PageSizeId avant de l’utiliser dans des calculs.

[static] QPageSize::PageSizeId QPageSize::id(const QSizeF &size, QPageSize::Unit units, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)

Renvoie l'QPageSize::PageSizeId standard de l'size donnée dans units à l'aide de l'matchPolicy fournie.

Si vous utilisez FuzzyMatch, la taille unitaire de l’ PageSizeId renvoyée peut ne pas correspondre exactement à celle de l’ size que vous avez fournie. Vous devez appeler QPageSize::size() en utilisant l’ PageSizeId renvoyée pour connaître la taille unitaire réelle de l’ PageSizeId avant de l’utiliser dans des calculs.

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

Renvoie « true » si cette page est équivalente à la page other, c'est-à-dire si la page a la même taille, indépendamment d'autres attributs tels que le nom.

bool QPageSize::isValid() const

Renvoie true si la taille de cette page est valide.

La taille de la page peut être invalide si elle a été créée avec un PageSizeId invalide, ou avec un QSize ou un QSizeF négatif ou invalide, ou encore avec le constructeur null.

QString QPageSize::key() const

Renvoie la clé unique correspondant au format de la page.

Par défaut, il s'agit du mot-clé standard « mediaOption » du PPD correspondant au format de page, ou de la clé de format personnalisée du PPD. Si l'instance de ` QPageSize ` provient d'un périphérique d'impression, il s'agira alors de la clé fournie par ce périphérique, qui peut différer de la clé standard.

Si l'QPageSize n'est pas valide, la clé sera une chaîne vide.

Cette clé ne doit jamais être affichée aux utilisateurs finaux ; il s'agit d'une clé interne uniquement. Pour obtenir un nom lisible par l'utilisateur, utilisez name().

Voir également name().

[static] QString QPageSize::key(QPageSize::PageSizeId pageSizeId)

Renvoie le mot-clé « mediaOption » de l'pageSizeId standard.

Si l’ QPageSize n’est pas valide, la clé sera vide.

QString QPageSize::name() const

Renvoie un nom localisé et lisible par l'utilisateur correspondant à la taille de la page.

Si l'instance QPageSize a été obtenue à partir d'un périphérique d'impression, le nom utilisé est celui fourni par ce périphérique. Notez qu'un périphérique d'impression peut ne pas prendre en charge la langue par défaut actuelle.

Si l'QPageSize n'est pas valide, le nom sera une chaîne vide.

[static] QString QPageSize::name(QPageSize::PageSizeId pageSizeId)

Renvoie le nom localisé de l'pageSizeId standard.

Si l'QPageSize n'est pas valide, le nom sera vide.

QRectF QPageSize::rect(QPageSize::Unit units) const

Renvoie le rectangle de la page au format requis units.

Si l'QPageSize n'est pas valide, l'QRect ne sera pas valide.

QRect QPageSize::rectPixels(int resolution) const

Renvoie le rectangle de la page en pixels matériels à l'adresse resolution indiquée.

Si l'QPageSize n'est pas valide, l'QRect ne sera pas valide.

QRect QPageSize::rectPoints() const

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

Si l'QPageSize e n'est pas valide, l'QRect e ne sera pas valide non plus.

QSizeF QPageSize::size(QPageSize::Unit units) const

Renvoie la taille de la page dans l'units e spécifiée.

Si l'QPageSize est invalide, l'QSizeF sera également invalide.

[static] QSizeF QPageSize::size(QPageSize::PageSizeId pageSizeId, QPageSize::Unit units)

Renvoie la taille de l'pageSizeId standard dans l'units demandé.

QSize QPageSize::sizePixels(int resolution) const

Renvoie la taille de la page en pixels matériels à l'adresse resolution indiquée.

Si l'QPageSize est invalide, la fonction QSize renverra une valeur invalide.

[static] QSize QPageSize::sizePixels(QPageSize::PageSizeId pageSizeId, int resolution)

Renvoie la taille de l'pageSizeId standard en pixels de périphérique pour l'resolution donné.

QSize QPageSize::sizePoints() const

Renvoie la taille de la page en points PostScript (1/72e de pouce).

Si l'QPageSize e n'est pas valide, l'QSize e ne sera pas valide non plus.

[static] QSize QPageSize::sizePoints(QPageSize::PageSizeId pageSizeId)

Renvoie la taille de l’ pageSizeId standard en points.

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

Remplace cette adresse QPageSize par other. Cette opération est très rapide et ne pose jamais de problème.

int QPageSize::windowsId() const

Renvoie la valeur de l'énumération DMPAPER de Windows correspondant à la taille de la page.

Toutes les tailles de page PPD valides n'ont pas d'équivalent sous Windows ; dans ce cas, la valeur 0 est renvoyée.

Si l'QPageSize e n'est pas valide, l'ID Windows sera 0.

Voir également id().

[static] int QPageSize::windowsId(QPageSize::PageSizeId pageSizeId)

Renvoie la valeur de l'énumération DMPAPER de Windows correspondant au format standard « pageSizeId ».

Toutes les tailles de page PPD valides n'ont pas d'équivalent sous Windows ; dans ce cas, la valeur 0 est renvoyée.

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

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

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

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

Éléments non membres associés

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

Renvoie « true » si la taille de la page lhs est différente de celle de la page rhs, c'est-à-dire si les deux pages ont des attributs différents. Les attributs actuels sont « size » et « name ».

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

Renvoie « true » si la taille de page lhs est égale à la taille de page rhs, c'est-à-dire si les tailles de page possèdent les mêmes attributs. Les attributs actuels sont « size » et « name ».

© 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.