Создание приложения на базе набора библиотек QGIS на Python

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
axinax
Интересующийся
Сообщения: 36
Зарегистрирован: 22 авг 2015, 01:01
Репутация: 2

Re: Создание приложения на базе набора библиотек QGIS на Pyt

Сообщение axinax » 05 ноя 2016, 22:07

axinax писал(а):Я все таки смигрировал на Ubuntu и Mint (на разных компах). Вообще никаких проблем с путями!
А теперь вопрос: эта команда layer = QgsVectorLayer( layerPath, layerName, layerProvider )
не работает ни в терминале, ни в этом приложении. layer.isValid() выдает False. Причем, что характерно, добавил эти строки в testplugin от NextGis (из статьи Разработка простого расширения для QGIS на Python) просто для проверки - слой открылся в QGIS. Почему не работает в консоли, не могу понять. Сейчас пишу большое плагин для QGIS, интерфейс пока не делал, только "рабочие" классы. Тестирую в терминале, классы, основанные на QgsFeature, QgsGeometry нормально работают, а этот нет.
Ось - Убунту 16, QGIS 2.12
Тут вдруг сам разобрался. Инициализация провайдеров не работает, т.е. Строка QgsApplication.initQgis() не работает, а именно это и инициирует провайдеров.
А вот это работает:
aps=QgsApplication(sys.argv,False)
aps.initQgis()

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Создание приложения на базе набора библиотек QGIS на Pyt

Сообщение Александр Мурый » 06 ноя 2016, 09:17

Просьба поправить статью. Вот волшебная кнопка.
Редактор материалов, модератор форума

Trocskiy
Новоприбывший
Сообщения: 2
Зарегистрирован: 29 ноя 2016, 07:46
Репутация: 0

Re: Создание приложения на базе набора библиотек QGIS на Pyt

Сообщение Trocskiy » 29 ноя 2016, 07:58

Уважаемые, кто нибудь может мне пожалуйста подсказать как бороться вот с такой ошибкой?
Вложения
error.jpg
error.jpg (50.33 КБ) 4305 просмотров

Trocskiy
Новоприбывший
Сообщения: 2
Зарегистрирован: 29 ноя 2016, 07:46
Репутация: 0

Re: Создание приложения на базе набора библиотек QGIS на Pyt

Сообщение Trocskiy » 29 ноя 2016, 11:12

Trocskiy писал(а):Уважаемые, кто нибудь может мне пожалуйста подсказать как бороться вот с такой ошибкой?
проблема решилась благодаря повсту выше
andemik писал(а):Вообще у меня были практически все проблемы, которые тут описывались.
Для запуска можно создать .bat-ник с таким кодом:

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

@ECHO OFF
set OSGEOROOT=C:\OSGeo4W
set PATH=%OSGEOROOT%\bin;%OSGEOROOT%\apps\qgis-dev\bin;%PATH%
SET PYTHONHOME=%OSGEOROOT%\apps\Python27
set PYTHONPATH=%OSGEOROOT%\apps\qgis-dev\python;%OSGEOROOT%\apps\qgis-dev\bin
set QGIS_PREFIX_PATH=%OSGEOROOT%\apps\qgis-dev\
set QGISHOME=%OSGEOROOT%\apps\qgis-dev

start python C:\qgis_s\mainwindow.py
Также пришлось поменять порядок импорта в mainwindow.py:

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

from qgis.core import *
from qgis.gui import *
from PyQt4.QtCore import QVariant  
from PyQt4 import QtCore, QtGui
P.S. Win10, стоят питоны 2.7.12 + QGIS и 3.5.2

Ответить

Вернуться в «Материалы сайта»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей