Ich versuche, einige benutzerdefinierte Beschriftungen für Punkt-Features in einem QGIS-Punktvektor-Layer zu erstellen, und ich möchte dazu ein Python-Plugin schreiben. Wir müssen unsere Etiketten mit farblich getönten Rechtecken dahinter präsentieren (oder sonst!). Die Beschriftungen sind lange Zeichenfolgen und werden mithilfe von Ausdrücken und Bedingungen der Beschriftungsengine erstellt.
Ich dachte, die einfachste Möglichkeit wäre, den Benutzer Beschriftungen für die aktive Ebene so einrichten zu lassen, wie er möchte, und dann zu lassen, dass mein Plugin den Beschriftungstext aus den Features in der Ebene abruft und die Textzeichenfolgen zum Erstellen von Feldern verwendet. Mein Problem ist, dass ich keine Möglichkeit finde, auf diese Textzeichenfolgen in der QGIS-API zuzugreifen. Wie werden von der Label-Engine erzeugte Label-Strings in QGIS gespeichert und wie kann ich darauf zugreifen?
Antworten:
In QGIS 2.0 können Sie Hintergrundrechtecke, Ovale oder benutzerdefinierte SVG-Formen erstellen, ohne ein Plugin zu benötigen. Gehen Sie einfach zu Layereigenschaften | Label | Abschnitt "Hintergrund".
Wenn Sie etwas codieren möchten. Dies könnte ein Ausgangspunkt sein: http://doc.qgis.org/api/qgspallabeling_8cpp_source.html#l04333
quelle