Проблемы с WebKit в Аксиома.ГИС

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
Susanin
Сообщения: 2
Зарегистрирован: 25 окт 2019, 08:56

Проблемы с WebKit в Аксиома.ГИС

Сообщение Susanin » 25 окт 2019, 10:12

Здравствуйте. Возникла проблема с написанием плагина для Аксиомы.
Плагин из себя представляет веб браузер в котором открывается html страница.
На странице есть кнопка, с помощью которой можно вызывать функции главного
окна Аксиомы.
Первая проблема в том, что почему-то не все функции выполняются.
Например: при вызове функций openFile() и showLoadedProviders() из javascriptа
ничего не происходит.
Вторая проблема в том, что при включении панели разработчика в WebKit Аксиома
падает. Без панели разработчика никак не узнать что не так с javascript.

Проверял плагин на Аксиома.ГИС 2.4.0.
Плагин в zip архиве прилагается к письму.
Вложения
open_browser.zip
Плагин для работы с WebKit
(2.44 КБ) 26 скачиваний
Аватара пользователя
Smeltzov
Сообщения: 6
Зарегистрирован: 27 май 2019, 14:40

Re: Проблемы с WebKit в Аксиома.ГИС

Сообщение Smeltzov » 25 окт 2019, 14:37

Добрый день. Спасибо за хороший пример кода.

Первая проблема связана c взаимодействием QtWebKit и javascript.
https://doc.qt.io/archives/qt-5.5/qtwebkit-bridge.html "Accessing Child QObjects"
Все именованные дочерние объекты представляются как свойства. А это в том числе все кнопки из главного окна.
Получается конфликт имен. openFile это метод axioma.app.MainWindow, и также кнопка QAction. Приоритет отдается свойствам. Таким образом extern.openFile() пытается вызвать метод __call__ у QAction'a а его нет. Зато extern.openFile.trigger() работает.

Вторая проблема связана с багом в qtwebkit из msys2
https://github.com/msys2/MINGW-packages/issues/5733

Мы не рекомендуем использовать QtWebkit. Аксиома не заявляет его поддержку. Только на свой страх и риск.
Последняя версия с поддержкой webkit - это Qt 5.5
PyQt5 также официально больше не поддерживает qtwebkit
В нашей документации webkit не упоминается
В апи он доступен только потому, что Помощь внутри Аксиомы работает на WebKit. Это может измениться в любой момент.

Пишите пожалуйста на Питоне :)
Аватара пользователя
Susanin
Сообщения: 2
Зарегистрирован: 25 окт 2019, 08:56

Re: Проблемы с WebKit в Аксиома.ГИС

Сообщение Susanin » 28 окт 2019, 05:08

Спасибо за подробный ответ Smeltzov. Много программирую на Qt поэтому решил использовать WebKit.
Попробую найти альтернативу на Python.
Ответить