2 votos

Acceso e interacción con el widget de anotación de formularios mediante PyQGIS

Estoy trabajando en un plugin para mostrar e interactuar con los gráficos, que son visibles en la vista y el diseño.

Las anotaciones de formulario son una gran alternativa para ello.

Las anotaciones de forma ( QgsFormAnnotation ) reciben la ruta a un .uic y mostrar el widget.

¿Es posible acceder al widget a través de PyQGIS, para poder añadir controles y manejar eventos?

6voto

s1d Puntos 91

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.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X