ReportView - Окно просмотра отчета
- class axipy.ReportView
Базовые классы:
DrawableView
Окно с планом отчета. Для создания экземпляра необходимо использовать
axipy.ViewManager.create_reportview()
через экземпляр view_manager. До параметров самого отчетаaxipy.render.Report
можно доступиться через свойствоReportView.report()
Пример создания отчета:
reportview = view_manager.create_reportview() # Добавим полигон geomItem = GeometryReportItem() geomItem.geometry = Polygon((10,10), (10, 100), (100, 100), (10, 10)) geomItem.style = PolygonStyle(45, Qt.red) reportview.report.items.add(geomItem) # Установим текущий масштаб reportview.view_scale = 33
Свойства:
Возможен ли откат на один шаг вперед.
Возможен ли откат на один шаг назад.
Есть ли изменения в окне.
Размер ячейки сетки.
Размер и положение окна.
Размер и положение окна.
Объект отчета.
Показывать границы страниц.
Показывать размер элементов.
Показывать сетку привязки.
Показывать линейку по краям.
Возвращает тип состояния окна.
Включает режим привязки координат при редактировании геометрии в окне карты или отчета.
Включение режима притяжения элементов отчета к направляющим.
Включение режима притяжения элементов отчета к узлам сетки.
Заголовок окна просмотра.
Текущий масштаб.
Виджет, соответствующий содержимому окна.
Вертикальные направляющие.
Горизонтальные направляющие.
Методы:
Удаляет все направляющие.
Очищает выбранные направляющие.
close
()Закрывает окно.
Наиболее эффективно заполняет пространство отчета масштабированием его элементов.
Ссылка на используемый текущий принтер.
mouse_moved
(x, y)Сигнал при смещении курсора мыши.
offset
(dx, dy)Производит сдвиг окна карты или отчета.
redo
()Производит откат на один шаг вперед.
scale_with_center
(scale, center)Установка нового центра с заданным масштабированием.
set_printer
(printer)Устанавливает для отчета объект
PySide2.QtPrintSupport.QPrinter
show
([type])Показывает окно в соответствие с приведенным типом.
undo
()Производит откат на один шаг назад.
Сигналы:
Сигнал об изменении контента окна.
- clear_guidelines()
Удаляет все направляющие.
- clear_selected_guidelines()
Очищает выбранные направляющие.
- close()
Закрывает окно.
- fill_on_pages()
Наиболее эффективно заполняет пространство отчета масштабированием его элементов.
- get_printer() QPrinter
Ссылка на используемый текущий принтер. Для того, чтобы изменить настройки, нужно запросить существующий объект, поменять необходимые значения и снова назначить посредством
ReportView.set_printer()
. Или же установить другой объектPySide2.QtPrintSupport.QPrinter
.from PySide2.QtGui import QPageLayout, QPageSize import axipy # Получение текущего окна отчета reportview = axipy.view_manager.active if isinstance(reportview, axipy.ReportView): # Получение текущего принтера printer = reportview.get_printer() # Именение размера страницы printer.setPageSize(QPageSize(QPageSize.A3)) # Изменение ориентации страницы printer.setPageOrientation(QPageLayout.Landscape) # Установление нового значения reportview.set_printer(printer)
- mouse_moved(x: float, y: float) Signal
Сигнал при смещении курсора мыши. Возвращает значения в координатах отчета.
- Параметры:
x – X координата
y – Y координата
Пример:
reportview.mouse_moved.connect(lambda x,y: print('Coords: {} {}'.format(x, y)))
- offset(dx: float, dy: float)
Производит сдвиг окна карты или отчета. Особенностью является то, что при этом сохраняется прежний центр (актуально для карты).
- Параметры:
dx – Смещение по горизонтали в координатах экрана (пикселях)
dy – Смещение по вертикали в координатах экрана (пикселях)
- property rect: QRect
Размер и положение окна.
Предупреждение
Не рекомендуется, начиная с версии 4.0: Используйте
position
.
- redo()
Производит откат на один шаг вперед. При этом возвращается состояние до последней отмены.
- scale_with_center(scale: float, center: Pnt)
Установка нового центра с заданным масштабированием.
- Параметры:
scale – Коэффициент масштабирования по отношению к текущему.
center – Устанавливаемый центр.
- set_printer(printer: QPrinter)
Устанавливает для отчета объект
PySide2.QtPrintSupport.QPrinter
- Параметры:
printer – Новое значение принтера или измененное запрошенное ранее через
ReportView.get_printer()
- show(type: int = SHOW_NORMAL)
Показывает окно в соответствие с приведенным типом.
Константа
Значение
Описание
SHOW_NORMAL
1
Обычный показ окна (по умолчанию).
SHOW_MINIMIZED
2
Показ окна в режиме минимизации.
SHOW_MAXIMIZED
3
Показ окна в режиме распахивания.
- property snap_mode: bool
Включает режим привязки координат при редактировании геометрии в окне карты или отчета.
- undo()
Производит откат на один шаг назад.
- property widget: QWidget
Виджет, соответствующий содержимому окна.
- Результат:
Qt5 виджет содержимого.
- property x_guidelines
Вертикальные направляющие. Значения содержатся в единицах измерения отчета.
Рассмотрим на примере:
# Добавление вертикальной направляющей reportview.x_guidelines.append(20) # Изменение значения направляющей по индексу reportview.x_guidelines[0] = 80 # Удаление всех направляющих. reportview.clear_guidelines()
- property y_guidelines
Горизонтальные направляющие. Работа с ними производится по аналогии с вертикальными направляющими.