Класс QPageSize
Класс QPageSize описывает размер и имя определенного размера страницы. Подробнее...
| Заголовок: | #include <QPageSize> |
| qmake: | QT += gui |
| С версии: | Qt 5.3 |
Открытые типы
| enum | PageSizeId { A0, A1, A2, A3, ..., LastPageSize } |
| enum | SizeMatchPolicy { FuzzyMatch, FuzzyOrientationMatch, ExactMatch } |
| enum | Unit { Millimeter, Point, Inch, Pica, Didot, Cicero } |
Открытые функции
| 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) |
Статические открытые члены
| 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) |
Подробное описание
Класс QPageSize описывает размер и имя определенного размера страницы.
Этот класс реализует поддержку набора стандартных размеров страниц, как определено в стандарте 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.
Описание типа члена
enum QPageSize::PageSizeId
Этот перечислимый тип перечисляет доступные размеры страниц, как определено в стандарте Postscript PPD. Эти значения дублируются в QPagedPaintDevice и QPrinter.
Определенные размеры:
| Постоянная | Значение | Описание |
|---|---|---|
QPageSize::A0 |
5 |
841 x 1189 мм |
QPageSize::A1 |
6 |
594 x 841 мм |
QPageSize::A2 |
7 |
420 x 594 мм |
QPageSize::A3 |
8 |
297 x 420 мм |
QPageSize::A4 |
0 |
210 x 297 мм, 8,26 x 11,69 дюймов |
QPageSize::A5 |
9 |
148 x 210 мм |
QPageSize::A6 |
10 |
105 x 148 мм |
QPageSize::A7 |
11 |
74 x 105 мм |
QPageSize::A8 |
12 |
52 x 74 мм |
QPageSize::A9 |
13 |
37 x 52 мм |
QPageSize::B0 |
14 |
1000 x 1414 мм |
QPageSize::B1 |
15 |
707 x 1000 мм |
QPageSize::B2 |
17 |
500 x 707 мм |
QPageSize::B3 |
18 |
353 x 500 мм |
QPageSize::B4 |
19 |
250 x 353 мм |
QPageSize::B5 |
1 |
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 |
16 |
31 x 44 мм |
QPageSize::C5E |
24 |
163 x 229 мм |
QPageSize::Comm10E |
25 |
105 x 241 мм, стандартный конверт США 10 |
QPageSize::DLE |
26 |
110 x 220 мм |
QPageSize::Executive |
4 |
7,5 x 10 дюймов, 190,5 x 254 мм |
QPageSize::Folio |
27 |
210 x 330 мм |
QPageSize::Ledger |
28 |
431,8 x 279,4 мм |
QPageSize::Legal |
3 |
8,5 x 14 дюймов, 215,9 x 355,6 мм |
QPageSize::Letter |
2 |
8,5 x 11 дюймов, 215,9 x 279,4 мм |
QPageSize::Tabloid |
29 |
279,4 x 431,8 мм |
QPageSize::Custom |
30 |
Неизвестно или размер, определённый пользователем. |
QPageSize::A10 |
31 |
|
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 при необходимости.
enum QPageSize::SizeMatchPolicy
| Постоянная | Значение | Описание |
|---|---|---|
QPageSize::FuzzyMatch |
0 |
Совпадение со стандартным размером страницы, если она находится в пределах допустимой погрешности. |
QPageSize::FuzzyOrientationMatch |
1 |
Совпадение со стандартным размером страницы, если она находится в пределах допустимой погрешности, независимо от ориентации. |
QPageSize::ExactMatch |
2 |
Совпадение со стандартным размером страницы только если размеры совпадают точно. |
enum 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()
Создаёт нулевой QPageSize.
QPageSize::QPageSize(QPageSize::PageSizeId pageSize)
Создаёт QPageSize стандартного размера pageSize.
Если pageSize равен QPageSize::Custom, то созданный QPageSize не будет валидным. Используйте конструктор для пользовательского размера вместо этого.
QPageSize::QPageSize(const QSize &pointSize, const QString &name = QString(), QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
Создаёт QPageSize с заданным размером pointSize в пунктах, используя политику сопоставления matchPolicy.
Если заданный pointSize совпадает со стандартным QPageSize::PageSizeId, будет использован этот размер страницы. Обратите внимание, что если matchPolicy равен FuzzyMatch, это может привести к корректировке pointSize до стандартного размера. Чтобы предотвратить это, используйте matchPolicy ExactMatch вместо этого.
END_OF_DOCUMENT_MARKERЕсли заданный pointSize не является стандартным значением QPageSize::PageSizeId, то будет создан размер QPageSize::Custom.
Если name равно null, то будет использовано стандартное локализованное имя. Если размер страницы настраиваемый, то будет создано настраиваемое имя в формате «Настраиваемый (ширина x высота»).
matchPolicy по умолчанию равен FuzzyMatch.
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 QPageSize &other)
Конструктор копирования, копирует other в текущий объект.
QPageSize::~QPageSize()
Удаляет страницу.
QSizeF QPageSize::definitionSize() const
Возвращает размер страницы в исходных единицах.
Для стандартного размера страницы это размер, определённый в соответствующем стандарте, т.е. ISO A4 определён в миллиметрах, а ANSI Letter — в дюймах.
Для настраиваемого размера страницы это исходный размер, использованный для создания объекта размера страницы.
Если QPageSize недействителен, то QSizeF также будет недействителен.
См. также definitionUnits().
[static] QSizeF QPageSize::definitionSize(QPageSize::PageSizeId pageSizeId)
Возвращает размер стандартного pageSizeId в исходных единицах.
Для получения исходных единиц измерения вызовите QPageSize::definitionUnits().
QPageSize::Unit QPageSize::definitionUnits() const
Возвращает единицы измерения размера страницы в исходных единицах.
Для стандартного размера страницы это единицы измерения, определённые в соответствующем стандарте, т.е. ISO A4 определён в миллиметрах, а ANSI Letter — в дюймах.
Для настраиваемого размера страницы это исходные единицы измерения, использованные для создания объекта размера страницы.
Если QPageSize недействителен, то значение QPageSize::Unit будет недействительным.
См. также definitionSize().
[static] QPageSize::Unit QPageSize::definitionUnits(QPageSize::PageSizeId pageSizeId)
Возвращает единицы измерения стандартного pageSizeId в исходных единицах.
Для получения размера в исходных единицах вызовите QPageSize::definitionSize().
QPageSize::PageSizeId QPageSize::id() const
Возвращает стандартное значение QPageSize::PageSizeId страницы или QPageSize::Custom.
Если QPageSize недействителен, то ID будет QPageSize::Custom.
[static] QPageSize::PageSizeId QPageSize::id(const QSize &pointSize, QPageSize::SizeMatchPolicy matchPolicy = FuzzyMatch)
Возвращает стандартное значение QPageSize::PageSizeId заданного pointSize в пунктах с использованием заданного matchPolicy.
При использовании FuzzyMatch возвращённый размер PageSizeId может не точно совпадать с заданным pointSize. Необходимо вызвать QPageSize::sizePoints() с полученным PageSizeId, чтобы узнать фактический размер в пунктах PageSizeId, прежде чем использовать его в расчётах.
[static] 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, прежде чем использовать его в расчётах.
[static] 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 standard mediaOption для размера страницы или ключ PPD custom format. Если экземпляр QPageSize был получен из устройства печати, то это будет ключ, предоставленный устройством печати, и он может отличаться от стандартного ключа.
Если QPageSize недействителен, то ключ будет пустой строкой.
Этот ключ никогда не должен отображаться конечным пользователям, это только внутренний ключ. Для отображения читаемого имени используйте name().
См. также name().
[static] QString QPageSize::key(QPageSize::PageSizeId pageSizeId)
Возвращает ключевое слово PPD mediaOption для стандартного pageSizeId.
Если QPageSize недействителен, то ключ будет пустой строкой.
QString QPageSize::name() const
Возвращает локализованное удобочитаемое имя размера страницы.
Если экземпляр QPageSize был получен из устройства печати, то используемое имя — это имя, предоставленное устройством печати. Обратите внимание, что устройство печати может не поддерживать текущий язык по умолчанию.
Если QPageSize недействителен, то имя будет пустой строкой.
[static] QString QPageSize::name(QPageSize::PageSizeId pageSizeId)
Возвращает локализованное имя стандартного pageSizeId.
Если QPageSize недействителен, то имя будет пустым.
QRectF QPageSize::rect(QPageSize::Unit units) const
Возвращает прямоугольник страницы в необходимых units.
Если QPageSize недействителен, то QRect будет недействителен.
QRect QPageSize::rectPixels(int resolution) const
Возвращает прямоугольник страницы в пикселях устройства при заданном разрешении resolution.
Если QPageSize недействителен, то QRect будет недействителен.
QRect QPageSize::rectPoints() const
Возвращает прямоугольник страницы в постскриптовых пунктах (1/72 дюйма).
Если QPageSize недействителен, то QRect будет недействителен.
END_OF_DOCUMENT_MARKERQSizeF 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
Возвращает размер страницы в пикселях устройства при заданном resolution.
Если QPageSize недействителен, то QSize также будет недействительным.
[static] QSize QPageSize::sizePixels(QPageSize::PageSizeId pageSizeId, int resolution)
Возвращает размер стандартной страницы pageSizeId в пикселях устройства для заданного resolution.
QSize QPageSize::sizePoints() const
Возвращает размер страницы в PostScript пунктах (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.
QPageSize &QPageSize::operator=(QPageSize &&other)
Присваивает other этому экземпляру QPageSize, передавая владение управляемым указателем этому экземпляру.
QPageSize &QPageSize::operator=(const QPageSize &other)
Оператор присваивания, присваивает other этому.
Связанные внеклассовые члены
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/archives/qt-5.11/qpagesize.html