Шаг 310.
Библиотека PyQt5. Печать документов. Предварительный просмотр документов перед печатью. Класс QPrintPreviewWidget
На этом шаге мы рассмотрим назначение, форматы конструктора и основные методы этого класса.
Класс QPrintPreviewWidget представляет отдельный компонент - панель для предварительного просмотра документа. Ее можно воспринимать как центральную часть рассмотренного нами на предыдущем шаге диалогового окна.
Иерархия наследования этого класса:
(QObject, QPaintDevice) - QWidget - QPrintPreviewWidget
Конструктор класса QPrintPreviewWidget имеет следующий формат:
<Объект> = QPrintPreviewWidget([parent=None][, flags=0])
<Объект> = QPrintPreviewWidget(<QPrinter>[, parent=None][, flags=0])
Первый формат создает компонент, привязанный к используемому по умолчанию принтеру, второй формат позволяет указать нужный нам принтер в виде экземпляра класса QPrinter. Необязательный
параметр parent может быть использован для задания родителя, а необязательный параметр flags - для установки типа окна (смотри 25 шаг).
Последовательность действий, необходимых для реализации предварительного просмотра с помощью класса QPrintPreviewWidget, почти такая же, что и в случае класса QPrintPreviewDialog:
мы создаем экземпляр класса QPrintPreviewWidget, назначаем для его сигнала paintRequested() обработчик и пишем в этом обработчике код, который и выполнит вывод документа.
Класс QPrintPreviewWidget поддерживает ряд методов, предназначенных для выполнения различных действий над выведенным в панели документом. Рассмотрим их:
- setOrientation (<Ориентация>) - задает ориентацию страницы в виде значения атрибута Portrait (0, портретная) или Landscape (l, ландшафтная) класса QPrinter.
Метод является слотом;
- setPortraitOrientation () - задает портретную ориентацию страницы. Метод является слотом;
- setLandscapeOrientation () - задает ландшафтную ориентацию страницы. Метод является слотом;
- orientation () - возвращает ориентацию страницы;
- setViewMode (<Peжим просмотра>) - задает режим просмотра страниц документа в виде значения одного из следующих атрибутов класса QPrintPreviewWidget:
- SinglePageView (или 0) - постраничный режим (одновременно выводится только одна страница);
- FacingPagesView (или 1) - режим просмотра разворота (одновременно отображаются две страницы);
- AllPagesView (или 2) - выводятся сразу все страницы документа.
Метод является слотом;
- setSinglePageViewMode () - задает постраничный режим просмотра страниц. Метод является слотом;
- setFacingPagesViewMode () - задает режим просмотра разворота. Метод является слотом;
- setAllPagesViewMode () - задает режим просмотра всех страниц документа. Метод является слотом;
- viewMode () - возвращает обозначение режима просмотра страниц;
- setZoomMode (<Peжим масштабирования>) - задает режим масштабирования страниц при просмотре в виде значения одного из следующих атрибутов класса QPrintPreviewWidget:
- CustomZoom (или 0) - произвольное масштабирование со значением масштаба, заданным методом setZoomFactor();
- FitToWidth (или 1) - выбирается такое значение масштаба, чтобы страница помещалась в панели по ширине;
- FitInView (или 2) - выбирается такое значение масштаба, чтобы страница помещалась в панели полностью.
Метод является слотом;
- fitToWidth () - задает такой режим масштабирования, чтобы страница помещалась в панели по ширине. Метод является слотом;
- fitInView () - задает такой режим масштабирования, чтобы страница помещалась в панели полностью. Метод является слотом;
- zoomMode () - возвращает обозначение режима масштабирования страниц;
- setZoomFactor (<Масштаб>) - задает значение масштаба для выводимого в панели документа в виде вещественного числа. Значение 1.0 задает изначальный масштаб,
меньшие значения уменьшают его, а большие - увеличивают. Метод является слотом;
- zoomIn ([<Масштаб>]) - увеличивает масштаб документа на заданное значение. Если масштаб не задан, будет использовано значение 1.1 Метод является слотом;
- zoomOut ([<Масштаб>]) - уменьшает масштаб документа на заданное значение. Если масштаб не задан, будет использовано значение l. l. Метод является слотом;
- zoomFactor () - возвращает значение масштаба;
- pageCount () - возвращает общее количество страниц в документе;
- setCurrentPage (<Номер страницы>) - задает номер страницы, выводимой в панели. Метод является слотом;
- currentPage () - возвращает номер страницы, выводящейся в панели в данный момент;
- updatePreview () - выполняет обновление содержимого панели. При этом будет снова сгенерирован сигнал paintRequested(). Метод является слотом;
- print () - выполняет печать документа, отображающегося в панели, с выводом на экран диалогового окна выбора и настройки принтера. Метод является слотом.
В дополнение к paintRequested(), класс QPrintPreviewWidget поддерживает сигнал previewChanged(). Он генерируется при изменении параметров панели просмотра:
ориентации страницы, режима просмотра, масштаба и др.
На следующем шаге мы рассмотрим класс QPrinterInfo.
Предыдущий шаг
Содержание
Следующий шаг