Spec-Zone.ru › Qt

Класс QPageSize

Класс QPageSize описывает размер и имя определенного размера страницы. Подробнее...

Заголовок: #include <QPageSize>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
С момента: Qt 5.3
  • Список всех членов, включая унаследованные

Публичные типы

Перечисление PageSizeId { A0, A1, A2, A3, A4, …, LastPageSize }
Перечисление SizeMatchPolicy { FuzzyMatch, FuzzyOrientationMatch, ExactMatch }
Перечисление Unit { Миллиметр, Точка, Дюйм, Пика, Дидо, Цицерон }

Публичные функции

QPageSize(const QPageSize &other)
QPageSize(const QSizeF &size, QPageSize::Unit units, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize(QPageSize::PageSizeId pageSize)
QPageSize()
QPageSize & operator=(const QPageSize &other)
QPageSize & operator=(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

Статические публичные члены

QSizeF definitionSize(QPageSize::PageSizeId pageSizeId)
QPageSize::Unit definitionUnits(QPageSize::PageSizeId pageSizeId)
QPageSize::PageSizeId id(const QSize &pointSize, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize::PageSizeId id(const QSizeF &size, QPageSize::Unit units, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
QPageSize::PageSizeId id(int windowsId)
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)

Подробное описание

Этот класс реализует поддержку набора стандартных размеров страниц, определенных в стандарте Adobe Postscript PPD v4.3. Он определяет стандартный набор размеров страниц в пунктах, миллиметрах и дюймах и гарантирует, что эти размеры используются последовательно. Другие единицы измерения размера могут быть использованы, но будут вычисляться как результаты, и поэтому могут не всегда быть согласованными. Определенные размеры в пунктах всегда являются целыми числами, все остальные размеры могут быть дробными частями единицы.

Определенный размер всегда указывается в формате ширина x высота без подразумеваемой ориентации страницы. Обратите внимание, что возможно определение размеров страниц, где ширина больше высоты, например, QPageSize::Ledger, поэтому вы не можете полагаться на сравнение значений ширины и высоты для определения ориентации страницы.

Например, A4 определяется стандартом как 210 мм x 297 мм, 8,27 дюймов x 11,69 дюймов или 595 пунктов x 842 пункта.

Вы также можете определять пользовательские размеры страниц с пользовательскими именами в любых единицах измерения, и этот размер единицы будет сохранен и использован в качестве базового для всех других вычислений размера единиц.

При создании QPageSize с помощью пользовательского QSize вы можете выбрать, хотите ли вы, чтобы QPageSize пытался сопоставить размер со стандартным размером страницы. По умолчанию QPaperSize использует режим FuzzyMatch, где он сопоставит заданный размер страницы со стандартным размером страницы, если он находится в пределах 3 пунктов PostScript от определенного стандартного размера. Вы можете переопределить это, чтобы запросить только точное совпадение, но это не рекомендуется, так как преобразования между единицами могут легко потерять 3 пункта и привести к неверным размерам страниц.

Экземпляр QPageSize также можно получить, запросив поддерживаемые размеры страниц для устройства печати. В этом случае возвращаемое локализованное имя определяется самим принтером. Обратите внимание, что устройство печати может не поддерживать текущий язык по умолчанию.

Класс также предоставляет удобные методы для преобразования идентификаторов размеров страниц в различные размеры единиц и обратно.

См. также QPagedPaintDevice и QPdfWriter.

Документация по типам членов

перечисление QPageSize::PageSizeId

Этот тип перечисления перечисляет доступные размеры страниц, как определено в стандарте Postscript PPD. Эти значения дублируются в QPagedPaintDevice и QPrinter.

Определенные размеры:

Постоянная Значение Описание
QPageSize::A0 3 841 x 1189 мм
QPageSize::A1 4 594 x 841 мм
QPageSize::A2 5 420 x 594 мм
QPageSize::A3 6 297 x 420 мм
QPageSize::A4 7 210 x 297 мм, 8,26 x 11,69 дюймов
QPageSize::A5 8 148 x 210 мм
QPageSize::A6 9 105 x 148 мм
QPageSize::A7 10 74 x 105 мм
QPageSize::A8 11 52 x 74 мм
QPageSize::A9 12 37 x 52 мм
QPageSize::B0 14 1000 x 1414 мм
QPageSize::B1 15 707 x 1000 мм
QPageSize::B2 16 500 x 707 мм
QPageSize::B3 17 353 x 500 мм
QPageSize::B4 18 250 x 353 мм
QPageSize::B5 19 176 x 250 мм, 6,93 x 9,84 дюймов
QPageSize::B6 20 125 x 176 мм
QPageSize::B7 21 88 x 125 мм
QPageSize::B8 22 62 x 88 мм
QPageSize::B9 23 44 x 62 мм
QPageSize::B10 24 31 x 44 мм
QPageSize::C5E 25 163 x 229 мм
QPageSize::Comm10E 26 105 x 241 мм, стандартный конверт США 10
QPageSize::DLE 27 110 x 220 мм
QPageSize::Executive 2 7,5 x 10 дюймов, 190,5 x 254 мм
QPageSize::Folio 28 210 x 330 мм
QPageSize::Ledger 29 431,8 x 279,4 мм
QPageSize::Legal 1 8,5 x 14 дюймов, 215,9 x 355,6 мм
QPageSize::Letter 0 8,5 x 11 дюймов, 215,9 x 279,4 мм
QPageSize::Tabloid 30 279,4 x 431,8 мм
QPageSize::Custom 31 Неизвестно или размер, определённый пользователем.
QPageSize::A10 13
QPageSize::A3Extra 32
QPageSize::A4Extra 33
QPageSize::A4Plus 34
QPageSize::A4Small 35
QPageSize::A5Extra 36
QPageSize::B5Extra 37
QPageSize::JisB0 38
QPageSize::JisB1 39
QPageSize::JisB2 40
QPageSize::JisB3 41
QPageSize::JisB4 42
QPageSize::JisB5 43
QPageSize::JisB6 44 ,
QPageSize::JisB7 45
QPageSize::JisB8 46
QPageSize::JisB9 47
QPageSize::JisB10 48
QPageSize::AnsiA Letter = Письмо
QPageSize::AnsiB Ledger = Журнал
QPageSize::AnsiC 49
QPageSize::AnsiD 50
QPageSize::AnsiE 51
QPageSize::LegalExtra 52
QPageSize::LetterExtra 53
QPageSize::LetterPlus 54
QPageSize::LetterSmall 55
QPageSize::TabloidExtra 56
QPageSize::ArchA 57
QPageSize::ArchB 58
QPageSize::ArchC 59
QPageSize::ArchD 60
QPageSize::ArchE 61
QPageSize::Imperial7x9 62
QPageSize::Imperial8x10 63
QPageSize::Imperial9x11 64
QPageSize::Imperial9x12 65
QPageSize::Imperial10x11 66
QPageSize::Imperial10x13 67
QPageSize::Imperial10x14 68
QPageSize::Imperial12x11 69
QPageSize::Imperial15x11 70
QPageSize::ExecutiveStandard 71
QPageSize::Note 72
QPageSize::Quarto 73
QPageSize::Statement 74
QPageSize::SuperA 75
QPageSize::SuperB 76
QPageSize::Postcard 77
QPageSize::DoublePostcard 78
QPageSize::Prc16K 79
QPageSize::Prc32K 80
QPageSize::Prc32KBig 81
QPageSize::FanFoldUS 82
QPageSize::FanFoldGerman 83
QPageSize::FanFoldGermanLegal 84
QPageSize::EnvelopeB4 85
QPageSize::EnvelopeB5 86
QPageSize::EnvelopeB6 87
QPageSize::EnvelopeC0 88
QPageSize::EnvelopeC1 89
QPageSize::EnvelopeC2 90
QPageSize::EnvelopeC3 91
QPageSize::EnvelopeC4 92
QPageSize::EnvelopeC5 C5E = C5E
QPageSize::EnvelopeC6 93
QPageSize::EnvelopeC65 94
QPageSize::EnvelopeC7 95
QPageSize::EnvelopeDL DLE = DLE
QPageSize::Envelope9 96
QPageSize::Envelope10 Comm10E = Comm10E
QPageSize::Envelope11 97
QPageSize::Envelope12 98
QPageSize::Envelope14 99
QPageSize::EnvelopeMonarch 100
QPageSize::EnvelopePersonal 101
QPageSize::EnvelopeChou3 102
QPageSize::EnvelopeChou4 103
QPageSize::EnvelopeInvite 104
QPageSize::EnvelopeItalian 105
QPageSize::EnvelopeKaku2 106
QPageSize::EnvelopeKaku3 107
QPageSize::EnvelopePrc1 108
QPageSize::EnvelopePrc2 109
QPageSize::EnvelopePrc3 110
QPageSize::EnvelopePrc4 111
QPageSize::EnvelopePrc5 112
QPageSize::EnvelopePrc6 113
QPageSize::EnvelopePrc7 114
QPageSize::EnvelopePrc8 115
QPageSize::EnvelopePrc9 116
QPageSize::EnvelopePrc10 117
QPageSize::EnvelopeYou4 118
QPageSize::LastPageSize EnvelopeYou4 = EnvelopeYou4

По историческим причинам QPageSize::Executive отличается от стандартного размера Postscript и Windows Executive, используйте QPageSize::ExecutiveStandard.

Стандартный размер Postscript QPageSize::Folio отличается от размера Windows DMPAPER_FOLIO, при необходимости используйте стандартный размер Postscript QPageSize::FanFoldGermanLegal.

Перечисление QPageSize::SizeMatchPolicy

Константа Значение Описание
QPageSize::FuzzyMatch 0 Соответствие стандартному размеру страницы, если он находится в пределах допуска.
QPageSize::FuzzyOrientationMatch 1 Соответствие стандартному размеру страницы, если он находится в пределах допуска, независимо от ориентации.
QPageSize::ExactMatch 2 Соответствие только стандартному размеру страницы, если размеры совпадают точно.

Перечисление QPageSize::Unit

Это тип перечисления используется для указания единицы измерения размеров страниц.

Константа Значение Описание
QPageSize::Millimeter 0
QPageSize::Point 1 1/72 дюйма
QPageSize::Inch 2
QPageSize::Pica 3 1/72 фута, 1/6 дюйма, 12 пунктов
QPageSize::Didot 4 1/72 французского дюйма, 0.375 мм
QPageSize::Cicero 5 1/6 французского дюйма, 12 дидотов, 4.5 мм

Документация функций-членов

QPageSize::QPageSize(const QPageSize &other)

Конструктор копирования, копирует other в этот.

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

Создает пользовательскую страницу заданного размера size в единицах units.

Если заданный size соответствует стандартному QPageSize::PageSizeId, то используется этот размер страницы. Обратите внимание, что если matchPolicy — FuzzyMatch, это может привести к корректировке size до стандартного размера. Чтобы этого избежать, используйте matchPolicy ExactMatch.

Если заданный size не соответствует стандартному QPageSize::PageSizeId, создается размер QPageSize::Custom. Исходный размер единиц сохраняется и используется в качестве базы для всех других расчётов размеров единиц.

Если name равно null, то будет создано пользовательское имя в формате «Пользовательский (ширина x высота)», где размер выражен в указанных единицах.

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

Создаёт QPageSize заданного размера pointSize в пунктах, используя заданную политику соответствия matchPolicy.

Если заданный размер pointSize соответствует стандартному значению QPageSize::PageSizeId, то будет использован соответствующий размер страницы. Обратите внимание, что если политика соответствия matchPolicy задана как FuzzyMatch, это может привести к корректировке размера pointSize до стандартного размера. Чтобы предотвратить это, используйте политику matchPolicy ExactMatch.

Если заданный размер pointSize не соответствует стандартному значению QPageSize::PageSizeId, то будет создан размер QPageSize::Custom.

Если name равно null, то будет использовано стандартное локализованное имя. Если размер страницы пользовательский, то будет создано пользовательское имя в формате «Пользовательский (ширина x высота)».

Политика matchPolicy по умолчанию задаётся как FuzzyMatch.

QPageSize::QPageSize(QPageSize::PageSizeId pageSize)

Создаёт QPageSize стандартного размера pageSize.

Если pageSize равно QPageSize::Custom, то полученный QPageSize будет недействительным. Используйте конструктор для пользовательского размера вместо этого.

QPageSize::QPageSize()

Создаёт пустой QPageSize.

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

Оператор присваивания, присваивает other этому объекту.

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

Перемещающий оператор присваивания, присваивает other этому экземпляру QPageSize, передавая владение управляемым указателем этому экземпляру.

QPageSize::~QPageSize()

Удаляет страницу.

QSizeF QPageSize::definitionSize() const

Возвращает размер определения размера страницы.

Для стандартного размера страницы это будет размер, определённый в соответствующем стандарте, например, ISO A4 определяется в миллиметрах, а ANSI Letter — в дюймах.

Для пользовательского размера страницы это будет исходный размер, используемый для создания объекта размера страницы.

Если QPageSize недействителен, то QSizeF будет недействительным.

См. также definitionUnits().

QSizeF QPageSize::definitionSize(QPageSize::PageSizeId pageSizeId)

Возвращает размер определения стандартного pageSizeId.

Чтобы получить единицы определения, вызовите QPageSize::definitionUnits().

QPageSize::Unit QPageSize::definitionUnits() const

Возвращает единицы определения размера страницы.

Для стандартного размера страницы это будут единицы, определённые в соответствующем стандарте, например, ISO A4 определяется в миллиметрах, а ANSI Letter — в дюймах.

Для пользовательского размера страницы это будут исходные единицы, используемые для создания объекта размера страницы.

Если QPageSize недействителен, то QPageSize::Unit будет недействительным.

См. также definitionSize().

QPageSize::Unit QPageSize::definitionUnits(QPageSize::PageSizeId pageSizeId)

Возвращает единицы определения стандартного pageSizeId.

Чтобы получить размер определения, вызовите QPageSize::definitionSize().

QPageSize::PageSizeId QPageSize::id() const

Возвращает стандартное значение QPageSize::PageSizeId страницы или QPageSize::Custom.

Если QPageSize недействителен, то идентификатор будет QPageSize::Custom.

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

Возвращает стандартное значение QPageSize::PageSizeId для заданного размера pointSize в пунктах, используя заданную политику соответствия matchPolicy.

Если используется FuzzyMatch, то размер в пунктах возвращаемого PageSizeId может не точно совпадать с переданным pointSize. Вы должны вызвать QPageSize::sizePoints() с возвращённым PageSizeId, чтобы узнать фактический размер в пунктах PageSizeId перед использованием его в расчётах.

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

Возвращает стандартное значение QPageSize::PageSizeId для заданного размера size в units, используя заданную политику соответствия matchPolicy.

Если используется FuzzyMatch, то размер в заданных единицах возвращаемого PageSizeId может не точно совпадать с переданным size. Вы должны вызвать QPageSize::size() с возвращённым PageSizeId, чтобы узнать фактический размер в заданных единицах PageSizeId перед использованием его в расчётах.

QPageSize::PageSizeId QPageSize::id(int windowsId)

Возвращает PageSizeId для заданного значения перечисления DMPAPER системы Windows windowsId.

Если соответствующего PageSizeId нет, возвращается QPageSize::Custom.

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

Возвращает true, если эта страница эквивалентна странице other, т.е. если у страницы одинаковый размер, независимо от других атрибутов, таких как имя.

bool QPageSize::isValid() const

Возвращает true, если размер этой страницы действителен.

Размер страницы может быть недействительным, если он создан с недействительным PageSizeId, или с отрицательным или недействительным QSize или QSizeF, или с использованием конструктора по умолчанию.

QString QPageSize::key() const

Возвращает уникальный ключ размера страницы.

По умолчанию это стандартный PPD-ключ mediaOption для размера страницы или ключ PPD для пользовательского формата. Если экземпляр QPageSize был получен из устройства печати, то это будет ключ, предоставленный устройством печати, и может отличаться от стандартного ключа.

Если QPageSize недействителен, то ключ будет пустой строкой.

Этот ключ никогда не должен отображаться пользователям, это внутренний ключ только. Для отображения имени, понятного пользователю, используйте name().

См. также name().

QString QPageSize::key(QPageSize::PageSizeId pageSizeId)

Возвращает PPD-ключ mediaOption стандартного pageSizeId.

Если QPageSize недействителен, то ключ будет пустой строкой.

QString QPageSize::name() const

Возвращает локализованное имя, понятное пользователю, для размера страницы.

Если экземпляр QPageSize был получен из устройства печати, то используемое имя — это имя, предоставленное устройством печати. Обратите внимание, что устройство печати может не поддерживать текущий язык по умолчанию.

Если QPageSize недействителен, то имя будет пустой строкой.

QString QPageSize::name(QPageSize::PageSizeId pageSizeId)

Возвращает локализованное имя стандартного pageSizeId.

Если QPageSize недействителен, то имя будет пустым.

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

Возвращает прямоугольник страницы в требуемых units.

Если QPageSize недействителен, то QRect будет недействительным.

QRect QPageSize::rectPixels(int resolution) const

Возвращает прямоугольник страницы в пикселях устройства при заданном разрешении.

Если QPageSize недействителен, то QRect также будет недействителен.

QRect QPageSize::rectPoints() const

Возвращает прямоугольник страницы в постаскриптовых точках (1/72 дюйма).

Если QPageSize недействителен, то QRect также будет недействителен.

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

Возвращает размер страницы в требуемых units.

Если QPageSize недействителен, то QSizeF также будет недействителен.

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

Возвращает размер стандартного pageSizeId в запрошенных units.

QSize QPageSize::sizePixels(int resolution) const

Возвращает размер страницы в пикселях устройства при заданном разрешении.

Если QPageSize недействителен, то QSize также будет недействителен.

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

Возвращает размер стандартного pageSizeId в пикселях устройства для заданного разрешения.

QSize QPageSize::sizePoints() const

Возвращает размер страницы в постаскриптовых точках (1/72 дюйма).

Если QPageSize недействителен, то QSize также будет недействителен.

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

Возвращает размер стандартного pageSizeId в точках.

void QPageSize::swap(QPageSize &other)

Меняет местами этот QPageSize и other. Эта функция очень быстрая и никогда не терпит неудачу.

int QPageSize::windowsId() const

Возвращает значение перечисления Windows DMPAPER для размера страницы.

Не все допустимые размеры страниц PPD имеют эквивалент в Windows, в этом случае возвращается 0.

Если QPageSize недействителен, то идентификатор Windows будет равен 0.

См. также id().

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

Возвращает значение перечисления Windows DMPAPER для стандартного pageSizeId.

Не все допустимые размеры страниц PPD имеют эквивалент в Windows, в этом случае возвращается 0.

Связанные нечленные элементы

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

Возвращает true если размер страницы lhs не равен размеру страницы rhs, т.е. если размеры страниц имеют разные атрибуты. Текущие атрибуты — размер и имя.

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

Возвращает true если размер страницы lhs равен размеру страницы rhs, т.е. если размеры страниц имеют одинаковые атрибуты. Текущие атрибуты — размер и имя.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qpagesize.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API