Hallo Lars,

ich glaube es gibt da keinen Ausdruck im Ausdruckseditor. Da musst Dur Dir eine eigene Funktion schreiben. Hier ein Beispiel, wie das gehen könnte:

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def get_item_size(layoutname, item_id, feature, parent):
    manager = QgsProject.instance().layoutManager()
    layout = manager.layoutByName(layoutname)
    item = layout.itemById(item_id)
    x =  item.pagePositionWithUnits().x()
    y =  item.pagePositionWithUnits().y()
    h = item.sizeWithUnits().height()
    w = item.sizeWithUnits().width()
    return w


Das Beispiel berechnet x,y und die Höhe und Breite, als Parameter übergibst Du den Layoutbame und die Item_id, im obigen Beispiel wird jetzt nur die Breite zurückgegeben, das kann man aber umbauen, so dass eine map zurück gegeben wird und Du alles Parameter hast...

Mit freundlichen Grüßen
Stefan Giese
Projektleiter/Consultant
---------------------------------------------
Aufwind durch Wissen!
Web-Seminare und Online-Schulungen
bei der www.foss-academy.com
---------------------------------------------
WhereGroup GmbH
Schwimmbadstr. 2
79100 Freiburg
Germany

Fon: +49 (0)761 / 519 102 - 61
Fax: +49 (0)761 / 519 102 - 11

stefan.gi...@wheregroup.com
www.wheregroup.com
Geschäftsführer:
Olaf Knopp, Peter Stamm
Amtsgericht Bonn, HRB 9885

Am 08.02.2021 um 09:15 schrieb lars lingner:
Hallo,

in einem QGis-Printlayout möchte ich mehrere HTML-Elemente nebeneinander
anordnen. Gibt es eine Möglichkeit die Position sowie die Breite eines
Elements auszulesen und in einer Expression des anderen Elements zu
benutzen?

Das erste Element hat eine variable Breite, die attributbasiert
gesteuert wird.
Das zweite Element soll diese Breite berücksichtigen und automatisch die
Position anpassen, um eine Überlappung zu vermeiden.
Das Attribut des ersten Element soll NICHT in der Formel des zweiten
verwendet werden.

Ich habe jedem Element eine eigene Item-ID gegeben. Mit
"item_variables(ID)" kann ich aber nicht auf Eigenschaften wie Position,
Breite zugreifen.
Gibt es eine andere Möglichkeit diese Werte auszulesen?
Interessant wären auch weitere Attribute wie Höhe, Rahmen- und
Hintergrundeinstellungen.

Ich benutze 3.10.14-A Coruña


Viele Grüße

Lars

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : 
<http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20210208/c6f96e7d/attachment.sig>

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : OpenPGP_signature
Dateityp    : application/pgp-signature
Dateigröße  : 495 bytes
Beschreibung: OpenPGP digital signature
URL         : 
<http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20210208/3e96dad2/attachment.sig>
--
....................................................................
FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/             https://twitter.com/fossgis_eV

____________________________________________________________________
FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste

Reply via email to