Добавление списка слоёв в приложение PyQGIS
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Если вы выбрали третий вариант (добавить поддержку новой символики, тот самый rendererV2), то вам нужно доработать виджет легенды (файл legend.py), добавив поддержку новой символики.
Простая замена не поможет, нужна именно доработка.
Простая замена не поможет, нужна именно доработка.
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
доработать виджет легенды у меня вряд ли полдучится .
а вот как на счет первого варианта.
как к слоям подкладывать файл стиля (qml) для старой символики.
а вот как на счет первого варианта.
как к слоям подкладывать файл стиля (qml) для старой символики.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Да все просто. Сначала открываете слой в QGIS, переключаетесь на старую символику и настраиваете внешний вид слоя. Затем жмете «Save style...» («Сохранить стиль») и сохраняете файл qml рядом с шейпом, причем имя файла стиля должно совпадать с именем шейпа. Все. Теперь при открытии такого шейпа в приложении он загрузится с использованием старой символики.real673 писал(а):а вот как на счет первого варианта. как к слоям подкладывать файл стиля (qml) для старой символики.
Недостатки уже называл: это необходимость предварительно создавать стиль и неработоспособность приложения после удаления старой символики из QGIS.
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
не могу разабраться как переключить символику
и где найти стили
и где найти стили
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Загружаете слой в QGIS. Вызываете контекстное меню по правой клавише мыши и выбираете пункт «Свойства». В диалогое открываете вкладку «Стиль». А дальше смотрите скриншот
Кнопка «Сохранить стиль» расположена внизу окна
Нажатием на «Старая символика» вы переключитесь на использование старой символики для этого слоя. Или же можно переключиться на старую символику глобально (это задается через «Установки-Параметры-Отрисовка-Совместимость»)Кнопка «Сохранить стиль» расположена внизу окна
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
Спасибо большое разобрался и пример тоже заработал.
а можно ли как нибудь сделать подписи объектов
а можно ли как нибудь сделать подписи объектов
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Разумеется. Смотрите в сторону классов QgsLabel и QgsLabelingEngineInterface (описание API)real673 писал(а):а можно ли как нибудь сделать подписи объектов
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
а в примере используется кодировка utf-8
а русские символы считываться ни как не будут???
а русские символы считываться ни как не будут???
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Ммм... не совсем понял. Русские буквы в кодировке UTF-8 отображаются прекрасно. Ну и никто не запрещает использовать любую другую кодировку
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
проблем в том что когда я например заменяю "ZOOM IN" на "Увеличить" то при запуске программы он выдает иероглефы.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Вы про интерфейс... А меняете в Qt Designer или правите файл вручную?
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
менял в файле Legend.py вручную
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Если использовали редактор, не поддерживающий UTF-8 то конечно все будет в закорючках.Либо пишите в utf-8, либо укажите свою кодировку в самой первой строке и не забудьте пересохранить файл в этой кодировке.
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 06 фев 2012, 21:54
- Репутация: 0
Re: Добавление списка слоёв в приложение PyQGIS
Скажите пожалуйста окно в котором показываются слои это же Canvas
тогда как мне отобразить координаты при движении мышью, как это сделано в Qgis?
тогда как мне отобразить координаты при движении мышью, как это сделано в Qgis?
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Добавление списка слоёв в приложение PyQGIS
Да, область где отображаются слои это Canvas. Если быть совсем точными, то MapCanvas (есть еще OverviewCanvas).real673 писал(а):Скажите пожалуйста окно в котором показываются слои это же Canvas
тогда как мне отобразить координаты при движении мышью, как это сделано в Qgis?
Для отображения координат надо добавлять свой виджет, подключать его к соответствующим сигналам и писать обработчики-слоты. Но этот вопрос выходит за рамки обсуждения статьи, так что лучше создайте отдельную тему в форуме QGIS
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 72 гостя