Forum QGIS
Funkcjonalność QGIS - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Funkcjonalność QGIS (/thread-351.html)



Funkcjonalność QGIS - Rafa - 06-01-2011

Witam,
Chciałbym stworzyć aplikacje opartą o api QGIS w pythonie.
Chciałbym aby posiadała ona niektóre z już obecnych w qgisie opcji jak np menu plik.
W api nie widze tego ale..
1. jak można dostać się do tych funkcji by nie trzeba było wszystkiego od nowa pisać?
2 .Czy panel Warstwy jest jakoś dostępny w poziomu api czy tez trzeba go od nowa pisać? (może jest jakaś przykładowa jego implementacja?)
3. Czy są jakieś zewnętrzne (być może nie oficjalne) biblioteki/przykłady pythona zawierające/opisujące implementacje tych podstawowych funkcjonalności?

Pozdrawiam
Rafał Zakrzewski


RE: Funkcjonalność QGIS - borys - 06-01-2011

Nie bardzo wyobrażam sobie użycie menu Plik. Biblioteki QGISa dostarczają klas do zbudowania aplikacji, a nie konkretnych instancji obiektów, których stworzenie i powiązanie między sobą to już właśnie domena interfejsu ostatecznej aplikacji. W menu Plik wszystkie akcje odnoszą się do konkretnych obiektów konkretnego interfejsu konkretnej aplikacji Qgis. Żeby ono miało jakikolwiek sens we własnej aplikacji, musiałaby ona być prawie kopią Qgisa, a zupełnie nie o to chodzi.

ad 1. Jak wynika z powyższego, można dostać się w obrębie konkretnego interfejsu, czyli do qgisowych menu z konsoli Pythona albo z wtyczki. Zaś stworzenie własnej aplikacji polega m. in. na budowie własnego interfejsu.

ad 2. W ostatnich tygodniach (czyli tylko w 1.7) została wyeksponowana klasa QgsLegendInterface, która razem z istniejącą wcześniej QgsLegendModel może się przydać

ad 3. Nie znam, ale może przyda się sam interfejs Qgisa. Wprawdzie nie w Pythonie, ale w tę stronę łatwo przetłumaczyć Wink
http://trac.osgeo.org/qgis/browser/trunk/qgis/src/app/qgisapp.cpp
http://trac.osgeo.org/qgis/browser/trunk/qgis/src/app/qgisappinterface.cpp


RE: Funkcjonalność QGIS - Rafa - 11-01-2011

ad 2 z tego co tu piszą http://doc.qgis.org/head/classQgsLegendInterface.html to te klasy są od 1.4 więc czy w ostatnich tygodniach?

4. A gdzie należy w kodzie QGIS należy szukać sposobu implementowania panelu "Warstwy"? Może uda mi się go przeportować na pythona z tego co znajdę w źrodłach na jego temat.


RE: Funkcjonalność QGIS - borys - 20-01-2011

(11-01-2011, 14:02)Rafał napisał(a): ad 2 z tego co tu piszą http://doc.qgis.org/head/classQgsLegendInterface.html to te klasy są od 1.4 więc czy w ostatnich tygodniach?

Może mnie pamięć mylić, ale coś ostatnio było przy tym dłubane. Istnienie klasy w API jeszcze nie oznacza, że jest w łączach Pythona i bardzo możliwe, że właśnie to było uzupełniane.

(11-01-2011, 14:02)Rafał napisał(a): 4. A gdzie należy w kodzie QGIS należy szukać sposobu implementowania panelu "Warstwy"? Może uda mi się go przeportować na pythona z tego co znajdę w źrodłach na jego temat.

Jest lepiej :-) To Cię może zainteresować (jak również przyszła poprawka wedle sugestii z dyskusji):
http://lists.osgeo.org/pipermail/qgis-developer/2011-January/012433.html