View - Базовый класс для отображения данных в окне

digraph geometry {
    node [shape="box", style=filled, fillcolor="lightgray"]
    rankdir=LR
    labelloc="t";
    label="Иерархия классов:";

    View [ href="View.html#ref-label-view-class", fillcolor=green, style=filled];
    TableView [ href="TableView.html#ref-label-tableview-class"];
    LegendView [ href="LegendView.html#ref-label-legendview-class"];
    DrawableView [ href="DrawableView.html#ref-label-drawableview-class"];

    MapView [ href="MapView.html#ref-label-mapview-class"];
    ReportView [ href="ReportView.html#ref-label-reportview-class"];

    View -> TableView;
    View -> LegendView;
    View -> DrawableView;
    DrawableView -> MapView;
    DrawableView -> ReportView;

}
class axipy.View

Базовый класс для отображения данных в окне.

Свойства:

position

Размер и положение окна.

show_type

Возвращает тип состояния окна.

title

Заголовок окна просмотра.

widget

Виджет, соответствующий содержимому окна.

Методы:

close()

Закрывает окно.

reset_parent(parent)

Сбрасывает окно контейнера для карты или таблицы просмотра, если он существует и закрывает его.

show([type])

Показывает окно в соответствие с приведенным типом.

close()

Закрывает окно.

Примечание

Если при закрытии окна выдается запрос о сохранении данных перед закрытием и необходимо изменить поведение, то это можно сделать через соответствующие типу окна настройки или же через свойство axipy.CurrentSettings.SilentCloseWidget

property position: QRect

Размер и положение окна.

reset_parent(parent: QWidget)

Сбрасывает окно контейнера для карты или таблицы просмотра, если он существует и закрывает его. Это требуется когда окно карты или таблица просмотра необходимо встроить в другое окно.

Параметры:

parent – Окно - новый родитель

Пример встраивания окно карты в диалог:

table = provider_manager.openfile('world.tab')
layer = Layer.create(table)
m = Map([layer])
view = view_manager.create_mapview(m)

# Диалог, в который будет встраиваться
class MyDialog(QDialog):

    def __init__(self ):
        super().__init__()
        # Инициализируем менеджер компоновки
        self.layout = QGridLayout()
        self.setLayout(self.layout)

    def set_mapview(self, view):
        # Устанавливаем окно карты как контент данного диалога
        view.reset_parent(self)
        self.layout.addWidget(view.widget)
        view.show()

dialog = MyDialog()
dialog.resize(500,300)
dialog.set_mapview(view)
dialog.show()
show(type: int = SHOW_NORMAL)

Показывает окно в соответствие с приведенным типом.

Допустимые значения:

Константа

Значение

Описание

SHOW_NORMAL

1

Обычный показ окна (по умолчанию).

SHOW_MINIMIZED

2

Показ окна в режиме минимизации.

SHOW_MAXIMIZED

3

Показ окна в режиме распахивания.

property show_type: int

Возвращает тип состояния окна. Подробнее см. show()

property title: str

Заголовок окна просмотра.

property widget: QWidget

Виджет, соответствующий содержимому окна.

Результат:

Qt5 виджет содержимого.