Класс QPageSize
Класс QPageSize описывает размер и имя определённого размера страницы. Подробнее...
| Заголовок: | #include <QPageSize> |
| qmake: | QT += gui |
| С момента: | Qt 5.3 |
Этот класс был представлен в Qt 5.3.
Типы публичного доступа
| перечисление | PageSizeId { A0, A1, A2, A3, ..., LastPageSize } |
| перечисление | SizeMatchPolicy { FuzzyMatch, FuzzyOrientationMatch, ExactMatch } |
| перечисление | Unit { Millimeter, Point, Inch, Pica, Didot, Cicero } |
Функции публичного доступа
| 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 пунктов постскрипта от определённого стандартного размера. Вы можете переопределить это, чтобы запросить только точное соответствие, но это не рекомендуется, так как преобразования между единицами легко теряют 3 пункта и приводят к неверным размерам страниц.
Экземпляр QPageSize также может быть получен путём запроса поддерживаемых размеров страниц для устройства печати. В этом случае возвращённое локализованное имя определяется самой принтерной системой. Обратите внимание, что устройство печати может не поддерживать текущий язык по умолчанию.
Класс также предоставляет удобные методы для преобразования идентификаторов размеров страниц в различные размеры единиц.
См. также QPagedPaintDevice и QPdfWriter.
Документация по типу члена
перечисление 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(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 со значением null.
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 недействителен, то ID будет 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
Возвращает прямоугольник страницы в пикселях устройства при заданном resolution.
Если QPageSize недействителен, то QRect также будет недействителен.
QRect QPageSize::rectPoints() const
Возвращает прямоугольник страницы в PostScript-точках (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
Возвращает размер страницы в пикселях устройства при заданном 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.
Связанные нечлены
bool QPageSize::operator!=(const QPageSize &lhs, const QPageSize &rhs)
Возвращает true если размер страницы lhs не равен размеру страницы rhs, т.е. если размеры страницы имеют разные атрибуты. Текущие атрибуты — размер и имя.
bool QPageSize::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-5.13/qpagesize.html