Здравствуйте. Возникла проблема с написанием плагина для Аксиомы.
Плагин из себя представляет веб браузер в котором открывается html страница.
На странице есть кнопка, с помощью которой можно вызывать функции главного
окна Аксиомы.
Первая проблема в том, что почему-то не все функции выполняются.
Например: при вызове функций openFile() и showLoadedProviders() из javascriptа
ничего не происходит.
Вторая проблема в том, что при включении панели разработчика в WebKit Аксиома
падает. Без панели разработчика никак не узнать что не так с javascript.
Проверял плагин на Аксиома.ГИС 2.4.0.
Плагин в zip архиве прилагается к письму.
Проблемы с WebKit в Аксиома.ГИС
Проблемы с WebKit в Аксиома.ГИС
- Вложения
-
- open_browser.zip
- Плагин для работы с WebKit
- (2.44 КБ) 619 скачиваний
Re: Проблемы с WebKit в Аксиома.ГИС
Добрый день. Спасибо за хороший пример кода.
Первая проблема связана 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. Это может измениться в любой момент.
Пишите пожалуйста на Питоне
Первая проблема связана 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. Это может измениться в любой момент.
Пишите пожалуйста на Питоне
Re: Проблемы с WebKit в Аксиома.ГИС
Спасибо за подробный ответ Smeltzov. Много программирую на Qt поэтому решил использовать WebKit.
Попробую найти альтернативу на Python.
Попробую найти альтернативу на Python.
-
Привет. Со ссылками на форуме снова проблемы. Сначала все работало, если делать как вы сказали, а теперы и это не помогает. После нажатия ENTER выводит на поисковую страницу Яндекс и никакой закачки не происходит. Может я что-то не так делаю? Помогите кто может Очень нужно. Спасибо.