Страница 11 из 16
Re: Плагины
Добавлено: 01 апр 2024, 13:01
gisamap
А какая разница? Вы можете в под Axioma написать любое приложение на "чистом" Python и запустить под Axioma . При желание вы можете даже использовать Com (Window’s Component Object Model )
https://pbpython.com/windows-com.html , естественно только под Windows .
Re: Плагины
Добавлено: 01 апр 2024, 13:03
Матвеич
Простите , а почему выдает ошибку ?
Re: Плагины
Добавлено: 01 апр 2024, 13:27
gisamap
Вот пример прямо из консоли python Axioma
- pythn_sub.png (183.62 КБ) 1057 просмотров
Re: Плагины
Добавлено: 01 апр 2024, 13:28
gisamap
Нужно subprocess.run(["C:\DJOKER\Topik\TOOLS\geotools.exe"])
или
subprocess.run("C:\DJOKER\Topik\TOOLS\geotools.exe")
Re: Плагины
Добавлено: 01 апр 2024, 13:54
Матвеич
ВЫ ГЕНИЙ !!!!!!
Примите мои уверения в совершеннейшем к ВАМ почтении !!!!
Re: Плагины
Добавлено: 02 апр 2024, 10:57
Матвеич
Доброго времени суток, Форумчане !!!
Дано : Средствами ГИС Аксиома открыто всего 5 таблиц - в 1-м окне 2 таблицы, во 2-м - 3 таблицы.
Задача: Отследить количество и имена таблиц ,в активном окне, выбранном пользователем.
Как отследить нажатие правой кнопки мыши ?
Как вставить свой пункт в быстрое меню (вызвать свою функцию) , при нажатии правой кнопки мыши , в активном окне карты .
Re: Плагины
Добавлено: 02 апр 2024, 11:21
gisamap
Добрый день.
Активное окно Axioma можно получить
view_manager.active
Соответственно
if isinstance(view_manager.active,MapView):
print("Активное окно - карта")
Re: Плагины
Добавлено: 02 апр 2024, 11:28
gisamap
Лучше вообще использовать сигнал active_changed класса axipy.ViewManager -
def changeView():
'''Обработка изменения активного View'''
if isinstance(view_manager.active,MapView):
print("Активное окно - карта")
view_manager.active_changed.connect(changeView)
В этом случае при изменении активного окна Axioma будет вызываться changeView
Re: Плагины
Добавлено: 02 апр 2024, 12:29
Дмитрий
Матвеич писал(а): ↑02 апр 2024, 10:57
Как вставить свой пункт в быстрое меню (вызвать свою функцию) , при нажатии правой кнопки мыши , в активном окне карты .
Здравствуйте!
Можно произвести поиск меню для окна. Привожу упрощенный пример без проверок добавления пункта в конец списка.
Код: Выделить всё
import axipy
import PySide2
menu = axipy.view_manager.active.widget.findChild(PySide2.QtWidgets.QMenu)
menu.addAction("User action", lambda: print('Ok'))
Re: Плагины
Добавлено: 02 апр 2024, 12:38
gisamap
Насколько я понимаю речь идет о меню появлявшемся
- addMenu.png (185 КБ) 951 просмотр
при нажатии на правую кнопку мыши