MainWindow - Главное окно

class axipy.MainWindow

Главное окно ГИС Аксиома.

Примечание

Используйте готовый объект axipy.mainwindow.

Классовые методы:

show()

Создает и показывает главное окно программы.

Свойства:

catalog

Хранилище объектов приложения.

dock_widgets

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

geometry

Положение главного окна.

is_valid

Корректность состояния главного окна.

Методы:

add(view)

Добавляет окно просмотра данных.

add_dock_widget(dock_widget, area[, icon])

Добавляет панель в главное окно приложения.

add_layer_current_map(layer)

Добавляет слой в текущей карте.

add_layer_interactive(layer)

Добавляет слой с запросом на помещение на текущую карту или в новую.

add_layer_new_map(layer)

Открывает слой в новой карте.

dock_widget_by_name(name)

Производит поиск панелей по заголовку

qt_object()

Возвращает Qt5 объект окна.

remove_dock_widget(dock)

Удаляет существующую панель у главного окна приложения.

show_html_url(url, caption)

Показывает окно для локального файла html или если это web страница, запускает браузер по ассоциации.

add(view: View) QMdiSubWindow

Добавляет окно просмотра данных.

Параметры:

view – окно просмотра данных.

Примечание

При создании окон просмотра данных axipy.ViewManager.create_mapview() или axipy.ViewManager.create_tableview() они автоматически добавляются в главное окно программы.

add_dock_widget(dock_widget: QDockWidget, area: DockWidgetArea, icon: Optional[QIcon] = None) bool

Добавляет панель в главное окно приложения. При успешном добавлении возвращает True. Если же данная панель уже присутствует, то команда игнорируется и возвращается False. Элементы управления, которые требуется разместить на панели, создаются в дополнительном окне, а уже это окно, в свою очередь, устанавливается для панели (см. пример ниже).

Параметры:
  • dock_widget – Пользовательская созданная панель.

  • area – Расположение.

  • icon – Иконка для отображения в списке всех доступных панелей.

Пример:

from PySide2.QtWidgets import QDockWidget, QWidget, QPushButton
from PySide2.QtCore import Qt

dock = QDockWidget('Заголовок')
widget = QWidget()
layout = QVBoxLayout()
button = QPushButton("Кнопка")
button.clicked.connect(lambda: print('Реакция на кнопку'))
layout.addWidget(button)
layout.addStretch()
widget.setLayout(layout)
dock.setWidget(widget)
app.mainwindow.add_dock_widget(dock, Qt.RightDockWidgetArea, QIcon('filename.png'))
add_layer_current_map(layer: Layer) MapView

Добавляет слой в текущей карте.

add_layer_interactive(layer: Layer) MapView

Добавляет слой с запросом на помещение на текущую карту или в новую.

add_layer_new_map(layer: Layer) MapView

Открывает слой в новой карте.

property catalog: DataManager

Хранилище объектов приложения.

Это то же хранилище, которое отображается в панели «Открытые данные».

Примечание

При открытии объектов данных axipy.ProviderManager.openfile() они автоматически попадают в каталог.

dock_widget_by_name(name: str) Tuple[QDockWidget]

Производит поиск панелей по заголовку

Параметры:

name – Заголовок панели или же шаблон в формате re

Пример выдачи всех окон, у которых заголовок начинается c «Заголовок»

for dock in app.mainwindow.dock_widget_by_name('Заголовок.*$'):
    print(dock.windowTitle())

>>> Заголовок2
>>> Заголовок
>>> Заголовок1
property dock_widgets: Tuple[QDockWidget]

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

property geometry: QRect

Положение главного окна.

property is_valid: bool

Корректность состояния главного окна.

qt_object() QMainWindow

Возвращает Qt5 объект окна.

remove_dock_widget(dock: QDockWidget) bool

Удаляет существующую панель у главного окна приложения.

static show() MainWindow

Создает и показывает главное окно программы.

show_html_url(url: QUrl, caption: Optional[str])

Показывает окно для локального файла html или если это web страница, запускает браузер по ассоциации.

Параметры:
  • url – Ссылка на файл html или адрес страницы.

  • caption – Заголовок окна.

class axipy.DockWidgetArea

Расположение панели

Атрибуты:

Bottom

Снизу

Left

Слева

Right

Справа

Top

Сверху