Daha çox

Müstəqil QGIS tətbiqində proyekt sənədindən saxlanılan bəstəkar necə yüklənir?


Bir .qgs faylı yükləmək və oradan bir bəstəkar almaq istərdim, amma necə olduğunu anlaya bilmirəm. Bir yolu varmı, yoxsa xml-i özüm oxumalıyam və ayrı-ayrılıqda bəstəkar üçün uyğun dəyərləri təyin etməliyəm?

Sualım bu sualla bir qədər əlaqəlidir, yalnız bəstəkar atributlarını özüm göstərmək istəmirəm, sadəcə .qgs faylından yükləyin.


Metodu çağırmalısınızQgsComposer.readXML (düyün)yükləmək istədiyiniz bəstəkarı təmsil edən XML nodu ilə.

QGIS masa üstü tətbiqi bu şəkildə edir:

  1. bir parametr götürən bir slot metodu yaradınloadComposers (doc)
    1. Axtarmaqdoc.elementsByTagName ("Bəstəkar")
    2. Tapılanların hamısını təkrarlayınxml_nodes
      1. Yenisini yaradınQgsComposer
      2. Zəng edincomposer.readXML (xml_node.toElement (), doc)
  2. qoşunQgsProject.instance (). ReadProjectüçünloadComposers (doc)

QGIS kodunu araşdırdıqdan sonra bəstəkar konfiqurasiyalarını saxlamaq və yükləmək üçün xüsusi kodun yaradılmasına qərar verdim. QGIS masa üstü tətbiqi hər şeyi ümumi kitabxanada deyil, xüsusi dərslərdə edir, buna görə də pythonda yazılmış müstəqil bir tətbiq hələlik eyni şeyi etməli olacaq.

müvafiq sənədlər:

  • src / app / bəstəkar / qgscomposer.cpp
  • src / app / qgisapp.cpp - QgisApp :: loadComposersFromProject

Ancaq səhv olduğumu sübut etdiyim üçün xoşbəxt olardım.


Videoya baxın: Deleting Parts Of A Feature In QGIS (Oktyabr 2021).