Mi comprensión de QgsFormAnnotation
es que no hay otra forma de configurar el formulario (Qt Designer UI) que no sea utilizando la función setDesignerForm
que lo establece a partir de la ruta de archivo dada.
Así que para hacer ajustes a la forma utilizada para la anotación tiene que crear un nuevo archivo ui o editar el existente, y establecer la ruta a través de setDesignerForm
función.
Como el archivo ui es un archivo xml estándar puedes leer/escribir estos archivos desde tu plugin usando la librería python xml.
Si necesitas un formulario interactivo dinámico, debería ser parte de la interfaz de usuario de tu plugin - como un widget de diálogo o dock, que pueda responder (conectarse) a las señales procedentes de todas las partes de QGIS. Por ejemplo, utilice QgsMapCanvas.selectionChanged
para actualizar la interfaz de usuario del widget de acoplamiento (formulario) con cualquier cambio de selección en cualquier capa del lienzo del mapa.