Плагины

Вопросы связанные с работой ГИС Аксиома
Аватара пользователя
gisamap
Сообщения: 227
Зарегистрирован: 18 окт 2019, 08:03

Re: Плагины

Сообщение gisamap » 26 янв 2024, 09:01

Добрый день.
Для информации - все плагины ( файлы с расширением .axp) это архив zip . Можно любой плагин разархивировать и получить возможность посмотреть исходные коды плагина
Аватара пользователя
Матвеич
Сообщения: 86
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 26 янв 2024, 09:38

Про этот фокус я читал в руководстве и воспользовался , только беда в том ,что я только , только начинаю знакомиться с Python API.
Эти плагины сложные и меня только запутывают. Хотелось как в MapBasic : по большинству команд приводится фрагмент рабочей программы
с подробным описанием- Лепота....
Аватара пользователя
Александр
Сообщения: 439
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 26 янв 2024, 13:01

Матвеич писал(а): 26 янв 2024, 08:01 Переход от MapBasic к Python API трудный процесс.
Жаль , что в руководстве разработчика , нет подобных примеров с описанием работы . (Скопировал, запустил - работает)
Спасибо за отзыв.

К сожалению, у нас действительно недостаточно примеров для использования API.
Наша команда постоянно работает над улучшением API, и в данный момент мы активно занимаемся развитием и оптимизацией функционала.
Также мы осознаем необходимость развития документации API с толковыми примерами и пошаговыми руководствами, и мы работаем над этим.
Аватара пользователя
Матвеич
Сообщения: 86
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 26 янв 2024, 14:36

Александр! Благодарю Вас и Вашу команду!
Я и Форумчане , ждем с нетерпением Ваших улучшений в руководстве разработчика.

Примите мои уверения в совершеннейшем к Вам почтении.
Аватара пользователя
Матвеич
Сообщения: 86
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 27 янв 2024, 12:47

Александр ! Доброго времени суток!

Не могу найти в Pyrhon API как включить в программу стандартные диалоги ,сообщения :
например - "CКО координат X,Y > 0.05 м. формирование каталога координат продолжить ? " , "Да , "Нет "
и т. д.


По остальным вопросам потихонечку со скрипом двигаемся....
Аватара пользователя
Александр
Сообщения: 439
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 28 янв 2024, 09:45

Аксиома использует Qt для создания интерфейса. Qt - это универсальный фреймворк для создания графического интерфейса (GUI) приложений. При создании модулей рекомендуется использовать библиотеку PySide2 для создания интерфейса, которая позволяет использовать Qt в Python.

В классе QMessageBox есть статические функции для создания информационных (information), вопросительных (question), предупреждающих (warning) и критических (critical) диалоговых окон. Более подробную информацию можно найти здесь: https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QMessageBox.html

Код: Выделить всё

import axipy
from PySide2.QtWidgets import QMessageBox

if QMessageBox.question(axipy.view_manager.global_parent, 'MapTopik', 'CКО координат X,Y > 0.05 м. формирование каталога координат продолжить?') == QMessageBox.Yes:
	QMessageBox.information(axipy.view_manager.global_parent, 'MapTopik', 'Да')
else:
	QMessageBox.information(axipy.view_manager.global_parent, 'MapTopik', 'Нет')
Кроме QMessageBox существуют и другие полезные диалоговые окна, например:
  • QFileDialog - диалоговое окно выбора файлов
  • QInputDialog - диалоговое окно для ввода информации
Аватара пользователя
Матвеич
Сообщения: 86
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 28 янв 2024, 11:22

Александр БЛАГОДАРЮ ВАС !!!

Нет слов..... , все дельно, все работает !!!! Моя ошибка в слабом понимании взаимосвязи библиотек, фреймворков, функций и.т.д
А как правильно подключать библиотеки , организовать взаимосвязь классов и функций в руководстве освещены недостаточно.

Вы и решение и объяснение архитектуры модуля предоставляете.

Я по подобным ссылкам работал , включал примеры в свой модуль , но все тормозилось из-за библиотек .Как и какие включать ? - вопросы, вопросы....
---------------------------
- это я пытался запустить
from PyQt5.QtWidgets import QMessageBox
if QMessageBox.question(view_manager.global_parent, 'Вопрос', 'Отменить,действие?') == QMessageBox.Yes:
------------------------------


Ваши ответы - это фрагменты из толкового руководства разработчика (пишите новое руководство скорее)

P.S.
Примите мои уверения в совершеннейшем к Вам почтении.
Аватара пользователя
Александр
Сообщения: 439
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 28 янв 2024, 11:47

Пожалуйста, обратите внимание, что PyQt5 и PySide2 - это две отдельные библиотеки. Обе библиотеки имеют похожий API и предоставляют примерно одинаковый набор функций для работы с Qt. Основное различие между PyQt и PySide заключается в лицензиях. PySide использует лицензию LGPL, что позволяет использовать её как в свободных, так и в коммерческих проектах без необходимости открытия исходного кода вашего приложения.

Мы настоятельно рекомендуем использовать именно PySide2 в Аксиоме. Использование PyQt5 может привести к непредсказуемым последствиям.
Аватара пользователя
Матвеич
Сообщения: 86
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 30 янв 2024, 11:40

Александр ! Благодарю Вас !
Теперь понятно что было с библиотекой , заменил и заработало.

Теперь другая проблема - я запутался с организацией диалогов в Python API для Axi_Topik 2024. По отдельности часть стандартных
диалогов работает , а ListBox / MultiListBox ,PopupMenu ,Списки, раскрывающиеся меню - организовать не получается от слова совсем.
На Вас Александр , на Вас уповаю.

Попытаюсь отправить файл с описанием моих проблем во вложении
MapTopik (Axi_Topik).doc
(224.5 КБ) 23 скачивания
За сим позвольте откланяться , примите мои уверения в совершеннейшем к Вам почтении.
Аватара пользователя
Александр
Сообщения: 439
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 31 янв 2024, 16:37

Меню - просто добавляйте кнопки на вкладки Аксиомы.

Про создание форм ввода можно прочитать здесь
Вызвать Qt Designer удобнее всего используя дополнительный модуль QT-дизайнер, его можно установить используя Модули на вкладке Основные, затем перейти на Дополнительные модули и загрузить список модулей.
Официальная документация QT Designer
В Интернет можно найти массу статей про работу с ним, например это

Панель инструментов. Можно создать свою вкладку и разместить инструменты в ней. Можно добавить панель используя axipy.mainwindow.add_dock_widget
Ответить