Вопросы связанные с работой ГИС Аксиома
-
Александр
- Сообщения: 495
- Зарегистрирован: 18 апр 2019, 11:21
Сообщение
Александр » 11 мар 2024, 14:06
Плагин может быть выгружен из Аксиомы при выходе из неё или пользователем при отключении плагина через диалоговое окно "Модули".
При этом Аксиома вызывает метод unload. В методе unload необходимо разместить всю логику, отвечающую за освобождение ресурсов, включая удаление кнопок.
Code: Select all
from axipy import Position, Plugin, tr, ActionButton
class MapTopik1(Plugin):
def __init__(self) -> None:
self._action1: ActionButton = ActionButton(
title=tr("Открыть землю"),
on_click=self.struc_check,
)
position = Position(tr("Основные"), tr("Команды"))
position.add(self._action1)
self._action2: ActionButton = ActionButton(
title=self.tr("классификатор"),
on_click=self.show_message,
tooltip=self.tr("классификатор условных знаков М 1:500,1000,2000,5000")
)
position = Position(tr("Условные знаки"), tr("Минимальный"))
position.add(self._action2)
def unload(self) -> None:
self._action1.remove()
self._action2.remove()
def show_message(self) -> None:
print("message")
def struc_check(self) -> None:
print("открыть землю")
-
Матвеич
- Сообщения: 95
- Зарегистрирован: 09 янв 2024, 14:43
Сообщение
Матвеич » 11 мар 2024, 18:05
Александр Доброго времени суток!!!
ВСЕ ОТЛИЧНО !!!! Объяснили просто и доступно.
-
Матвеич
- Сообщения: 95
- Зарегистрирован: 09 янв 2024, 14:43
Сообщение
Матвеич » 14 мар 2024, 17:55
Александр Доброго времени суток !
в письме изложил проблему с выпадающим списком.
с интерфейсом заканчиваю .... кажется.
-
Александр
- Сообщения: 495
- Зарегистрирован: 18 апр 2019, 11:21
Сообщение
Александр » 18 мар 2024, 14:52
Пример диалога с комбобоксом
- QComboBox.png (19.38 КБ) 3663 просмотра
Code: Select all
import axipy
from PySide2.QtCore import Qt
from PySide2.QtWidgets import (QComboBox, QVBoxLayout, QDialog)
def show_dialog():
cb_file_type = QComboBox(None)
cb_file_type.addItems(
["MapInfo File", "Bentley MicroStation DGN", "AutoCAD DXF", "GML - Язык географической разметки",
"KML - Язык разметки Keyhole", "Шейп-файл ESRI", "SQLite / Spatialite RDBMS"])
layout = QVBoxLayout()
layout.addWidget(cb_file_type)
dlg = QDialog(axipy.view_manager.global_parent)
dlg.setWindowFlags(dlg.windowFlags() & ~Qt.WindowContextHelpButtonHint) # Выключение значка "?"
dlg.setLayout(layout)
dlg.open()
show_dialog()
Официальная документация QComboBox тут
https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QComboBox.html
-
Матвеич
- Сообщения: 95
- Зарегистрирован: 09 янв 2024, 14:43
Сообщение
Матвеич » 19 мар 2024, 08:53
Доброго времени суток АЛЕКСАНДР!
В ГИС Аксиома реализован принцип конструктора "Лего" - модули это детали "Лего".
Можно собирать из базовых /приватных модулей пользовательские технологии обработки данных.
Осталось только дать возможность пользователю создавать свой каталог технологий.
Модули можно разделить на базовые и дополнительные.
Востребованные дополнительные модули, сторонних разработчиков , нужно тестировать и включать в
базовый каталог модулей ГИС Аксиома.
В целом в ГИС Аксиома за ,что ни хватишься все уже есть , все работает! МОЛОДЦЫ !!!.
Я Благодарю Вас Александр за терпение и оказанную Вами помощь в освоении Python API в среде ГИС Аксиома.
Вы правы абсолютно , знание Python необходимо для работы с Python API в среде ГИС Аксиома.
Только благодаря Вашей помощи мне удалось сформировать свой интерфейс.
P.S. К Вам обращаюсь в самом крайнем случае.
-
Александр
- Сообщения: 495
- Зарегистрирован: 18 апр 2019, 11:21
Сообщение
Александр » 19 мар 2024, 11:08
Благодарю Вас за положительный отзыв о ГИС Аксиома и за доверие к нашей системе. Мы ценим вашу благодарность за помощь в освоении Python API и всегда готовы помочь вам при необходимости.
Вы правы, принцип "Лего", озвученный вами, позволяет пользователям создавать свои собственные технологии обработки данных. Пользователи могут публиковать свои модули на форуме, и при достаточной зрелости модуля мы включаем его в наш репозиторий. В дальнейшем некоторые популярные модули могут распространяться совместно с Аксиомой.
В следующей версии API будет добавлена возможность управления установленными модулями, что позволит, в том числе, создавать пользовательские репозитории.
Немаловажным фактором является возможность защитить модуль от несанкционированного доступа для возможности монетизации. Мы прорабатываем такую возможность, и в данный момент эта технология находится на стадии тестирования.
-
Матвеич
- Сообщения: 95
- Зарегистрирован: 09 янв 2024, 14:43
Сообщение
Матвеич » 22 мар 2024, 09:20
Вопрос ко всем кто может ответить...
Открываем средствами ГИС Аксиома несколько таблиц в активном окне. Одну из таблиц
делаем редактируемой.
Вопрос:
- "Каким образом извлекаем имя редактируемой таблицы в активном окне ?"
P.S. Смог только отследить наличие редактируемой таблицы в окне.
Александр извините , но в перекрестных ссылках руководства разработчика , увяз как пчела (или как ос) в паутине.
-
Андрей
- Сообщения: 20
- Зарегистрирован: 01 окт 2020, 11:40
Сообщение
Андрей » 22 мар 2024, 15:39
Здравствуйте. Пример получения имени редактируемой таблицы в активном окне:
Code: Select all
import axipy
# Получение активного окна карты
active_map_view = axipy.view_manager.active
# Получение редактируемого слоя активного окна карты
editable_layer = active_map_view.editable_layer
# Получение таблицы редактируемого слоя
table = editable_layer.data_object
# Получение имени таблицы редактируемого слоя
name = table.name
-
Матвеич
- Сообщения: 95
- Зарегистрирован: 09 янв 2024, 14:43
Сообщение
Матвеич » 22 мар 2024, 17:42
Андрей ! Добрый вечер!
Андрей , Благодарю Вас за помощь. К изучению Python и Python API только приступил и к логике Python
еще не привык. Учусь только на ответах модератора Александра и братьев Форумчан ,в том числе и Вашего ответа.
Добавил Ваш фрагмент и конечно все получилось . Сейчас разбираюсь , а почему получилось....
-
Матвеич
- Сообщения: 95
- Зарегистрирован: 09 янв 2024, 14:43
Сообщение
Матвеич » 28 мар 2024, 09:23
Есть открытая средствами Аксиома таблица.
Необходимо добавить новые атрибуты :
- Код Integer
- sem Char (100)
- h Decimal(10,3)
Т.е. изменить структуру существующей таблицы ...