Класс 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 |
Статические публичные члены
... (rest of the translated table)Связанные нечлены
... (rest of the translated table)Подробное описание
Этот класс реализует поддержку набора стандартных размеров страниц, как определено в стандарте 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::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, то будет создано пользовательское имя в формате «Пользовательский (ширина × высота)», где размер выражен в указанных единицах.
QPageSize::QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
Создаёт QPageSize заданного размера pointSize в пунктах с использованием политики соответствия matchPolicy.
Если заданный размер pointSize соответствует стандартному значению QPageSize::PageSizeId, то будет использоваться этот размер страницы. Обратите внимание, что если политика соответствия matchPolicy равна FuzzyMatch, это может привести к изменению размера pointSize на стандартный размер. Чтобы этого избежать, используйте политику соответствия ExactMatch.
Если заданный размер pointSize не соответствует стандартному значению QPageSize::PageSizeId, то будет создан размер типа QPageSize::Custom.
Если name равно null, то будет использоваться стандартное локализованное имя. Если размер страницы является пользовательским, то будет создано пользовательское имя в формате «Пользовательский (ширина × высота)«.
Политика соответствия 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 для заданного значения перечисления Windows DMPAPER 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
Возвращает прямоугольник страницы в Postscript Points (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
Возвращает размер страницы в Postscript Points (1/72 дюйма).
Если QPageSize некорректен, то QSize будет некорректен.
[static] QSize QPageSize::sizePoints(QPageSize::PageSizeId pageSizeId)
Возвращает размер стандартной страницы pageSizeId в Points.
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.0/qpagesize.html