﻿{"id":16384,"date":"2026-06-11T10:00:00","date_gmt":"2026-06-11T08:00:00","guid":{"rendered":"https:\/\/www.sigterritoires.fr\/?p=16384"},"modified":"2026-06-11T10:03:56","modified_gmt":"2026-06-11T08:03:56","slug":"desarrollar-plugin-qgis-anadir-boton-ventana","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/","title":{"rendered":"[ES]Desarrollar un plugin QGIS: a\u00f1adir un bot\u00f3n y una ventana"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">A\u00f1adir un bot\u00f3n en la interfaz de QGIS suele ser el primer paso concreto cuando se desarrolla un plugin. Es lo que transforma un simple script en Python en una herramienta realmente utilizable por el usuario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este tercer art\u00edculo del tutorial, veremos c\u00f3mo <strong>a\u00f1adir un bot\u00f3n y mostrar una ventana en un plugin QGIS<\/strong>, apoy\u00e1ndonos en el c\u00f3digo generado por Plugin Builder. Nos detendremos en los elementos esenciales: el m\u00e9todo <code>initGui()<\/code>, las acciones (<code>QAction<\/code>) y el disparo del di\u00e1logo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este tutorial est\u00e1 dirigido a <strong>principiantes en el desarrollo de plugins QGIS<\/strong>, que desean comprender c\u00f3mo interactuar con la interfaz de QGIS antes de avanzar hacia la l\u00f3gica de negocio.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenu <\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Anadir_un_boton_y_mostrar_una_ventana_en_QGIS\" >A\u00f1adir un bot\u00f3n y mostrar una ventana en QGIS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Recordatorio_el_plugin_generado_por_Plugin_Builder\" >Recordatorio: el plugin generado por Plugin Builder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#El_archivo_principal_del_plugin\" >El archivo principal del plugin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#El_metodo_initGui_punto_de_entrada_visual\" >El m\u00e9todo initGui(): punto de entrada visual<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#El_metodo_run_que_ocurre_al_hacer_clic\" >El m\u00e9todo run(): qu\u00e9 ocurre al hacer clic<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#%F0%9F%93%A6_Que_hace_realmente_un_boton_en_QGIS\" >&#x1f4e6; Qu\u00e9 hace realmente un bot\u00f3n en QGIS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Comprender_la_ventana_dialogo\" >Comprender la ventana (di\u00e1logo)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Modificar_el_texto_de_la_ventana\" >Modificar el texto de la ventana<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Probar_y_recargar_el_plugin\" >Probar y recargar el plugin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Errores_frecuentes_en_esta_etapa\" >Errores frecuentes en esta etapa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#Lo_que_has_aprendido\" >Lo que has aprendido<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/es\/desarrollar-plugin-qgis-anadir-boton-ventana\/#%C2%BFY_en_el_proximo_articulo\" >\u00bfY en el pr\u00f3ximo art\u00edculo?<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Anadir_un_boton_y_mostrar_una_ventana_en_QGIS\"><\/span>A\u00f1adir un bot\u00f3n y mostrar una ventana en QGIS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En los dos primeros art\u00edculos sentamos las bases: entender qu\u00e9 es un plugin QGIS y crear un plugin vac\u00edo con Plugin Builder. Ahora es el momento de darle un comportamiento visible a nuestro plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este art\u00edculo aprenderemos a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>a\u00f1adir un bot\u00f3n en la interfaz de QGIS,<\/li>\n\n\n\n<li>comprender el c\u00f3digo generado por Plugin Builder,<\/li>\n\n\n\n<li>mostrar una ventana (di\u00e1logo) sencilla.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El objetivo no es a\u00fan hacer algo complejo, sino comprender el <strong>mecanismo fundamental de cualquier plugin QGIS<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Recordatorio_el_plugin_generado_por_Plugin_Builder\"><\/span>Recordatorio: el plugin generado por Plugin Builder<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando elegimos la plantilla <strong>\u201cTool button with dialog\u201d<\/strong>, Plugin Builder ya prepar\u00f3 muchos elementos por nosotros:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>un bot\u00f3n en la barra de herramientas,<\/li>\n\n\n\n<li>una entrada de men\u00fa en QGIS,<\/li>\n\n\n\n<li>una ventana gr\u00e1fica asociada.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque todo funcione desde el principio, es fundamental entender <strong>c\u00f3mo est\u00e1 conectado todo<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"El_archivo_principal_del_plugin\"><\/span>El archivo principal del plugin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Abre el archivo Python principal de tu plugin (por ejemplo <code>mi_primer_plugin.py<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Encontrar\u00e1s una clase principal que lleva el nombre del plugin. Es ella la que controla todo el comportamiento.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class MiPrimerPlugin:\n    def __init__(self, iface):\n        self.iface = iface\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; <code>iface<\/code> es el objeto que permite al plugin comunicarse con QGIS (men\u00fas, capas, mensajes, etc.).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"El_metodo_initGui_punto_de_entrada_visual\"><\/span>El m\u00e9todo <code>initGui()<\/code>: punto de entrada visual<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo <code>initGui()<\/code> se llama autom\u00e1ticamente cuando el plugin se activa en QGIS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed se definen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el bot\u00f3n en la barra de herramientas,<\/li>\n\n\n\n<li>la entrada de men\u00fa,<\/li>\n\n\n\n<li>la acci\u00f3n asociada.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ejemplo t\u00edpico:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def initGui(self):\n    self.action = QAction(\n        QIcon(':\/plugins\/MiPrimerPlugin\/icon.png'),\n        'Mi primer plugin',\n        self.iface.mainWindow()\n    )\n    self.action.triggered.connect(self.run)\n    self.iface.addToolBarIcon(self.action)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque no entiendas cada l\u00ednea en detalle, recuerda que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>se crea una acci\u00f3n,<\/li>\n\n\n\n<li>se conecta a un m\u00e9todo (<code>run<\/code>),<\/li>\n\n\n\n<li>se a\u00f1ade a la interfaz de QGIS.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"El_metodo_run_que_ocurre_al_hacer_clic\"><\/span>El m\u00e9todo <code>run()<\/code>: qu\u00e9 ocurre al hacer clic<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo <code>run()<\/code> se ejecuta cuando el usuario hace clic en el bot\u00f3n del plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la plantilla generada, su funci\u00f3n principal es mostrar una ventana.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def run(self):\n    self.dlg.show()\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; En este punto, el plugin solo hace una cosa: <strong>abrir un di\u00e1logo<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%A6_Que_hace_realmente_un_boton_en_QGIS\"><\/span>&#x1f4e6; Qu\u00e9 hace realmente un bot\u00f3n en QGIS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se hace clic en un bot\u00f3n en QGIS, no ocurre nada \u201cm\u00e1gico\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un bot\u00f3n de plugin es simplemente un <strong>disparador<\/strong> que llama a una funci\u00f3n Python concreta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El funcionamiento es siempre el mismo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el plugin crea una acci\u00f3n (<code>QAction<\/code>),<\/li>\n\n\n\n<li>esa acci\u00f3n se asocia a una funci\u00f3n (por ejemplo <code>run()<\/code>),<\/li>\n\n\n\n<li>cuando el usuario hace clic, QGIS ejecuta esa funci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En nuestro caso, la funci\u00f3n <code>run()<\/code> solo muestra una ventana. Pero m\u00e1s adelante, esa misma funci\u00f3n podr\u00e1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>leer par\u00e1metros introducidos por el usuario,<\/li>\n\n\n\n<li>analizar capas,<\/li>\n\n\n\n<li>lanzar procesos,<\/li>\n\n\n\n<li>producir resultados.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; Un bot\u00f3n en QGIS solo hace una cosa: <strong>ejecutar c\u00f3digo Python<\/strong>.<br>Toda la potencia del plugin est\u00e1 en ese c\u00f3digo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comprender_la_ventana_dialogo\"><\/span>Comprender la ventana (di\u00e1logo)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La ventana mostrada est\u00e1 definida en un archivo <code>.ui<\/code>, creado con <strong>Qt Designer<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este archivo se carga luego en Python, lo que permite:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mostrar la ventana,<\/li>\n\n\n\n<li>recuperar los valores introducidos por el usuario,<\/li>\n\n\n\n<li>conectar botones a c\u00f3digo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Por ahora, vamos a limitarnos a modificar el aspecto visual.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Modificar_el_texto_de_la_ventana\"><\/span>Modificar el texto de la ventana<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Abre el archivo <code>.ui<\/code> con Qt Designer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prueba, por ejemplo, a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cambiar el t\u00edtulo de la ventana,<\/li>\n\n\n\n<li>modificar un texto (label),<\/li>\n\n\n\n<li>a\u00f1adir un bot\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Guarda el archivo, recarga el plugin en QGIS y haz clic en el bot\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; Acabas de modificar la interfaz de un plugin QGIS <strong>sin escribir c\u00f3digo Python<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Probar_y_recargar_el_plugin\"><\/span>Probar y recargar el plugin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cada vez que modifiques el c\u00f3digo o la interfaz:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>desactiva el plugin en el gestor de extensiones,<\/li>\n\n\n\n<li>vuelve a activarlo,<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">o utiliza la opci\u00f3n <strong>Recargar plugin<\/strong> si tienes instalada la extensi\u00f3n correspondiente.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Errores_frecuentes_en_esta_etapa\"><\/span>Errores frecuentes en esta etapa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>no pasa nada al hacer clic \u2192 el m\u00e9todo <code>run()<\/code> no est\u00e1 conectado<\/li>\n\n\n\n<li>error al cargar \u2192 error de may\u00fasculas\/min\u00fasculas en los nombres<\/li>\n\n\n\n<li>ventana vac\u00eda \u2192 archivo <code>.ui<\/code> mal referenciado<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Estos problemas son normales y forman parte del aprendizaje.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lo_que_has_aprendido\"><\/span>Lo que has aprendido<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al finalizar este art\u00edculo, sabes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>d\u00f3nde se crea el bot\u00f3n de un plugin QGIS,<\/li>\n\n\n\n<li>c\u00f3mo una acci\u00f3n se conecta a c\u00f3digo,<\/li>\n\n\n\n<li>c\u00f3mo mostrar y modificar una ventana.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ya tienes el <strong>bloque esencial de cualquier plugin QGIS interactivo<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%C2%BFY_en_el_proximo_articulo\"><\/span>\u00bfY en el pr\u00f3ximo art\u00edculo?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En el siguiente art\u00edculo veremos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>c\u00f3mo recuperar los valores introducidos en la ventana,<\/li>\n\n\n\n<li>c\u00f3mo interactuar con las capas de QGIS,<\/li>\n\n\n\n<li>c\u00f3mo estructurar el c\u00f3digo para ir m\u00e1s lejos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; A partir de aqu\u00ed, tu plugin empieza de verdad a ser \u00fatil.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A\u00f1adir un bot\u00f3n en la interfaz de QGIS suele ser el primer paso concreto cuando se desarrolla un plugin. Es lo que transforma un simple script en Python en una herramienta realmente utilizable por el usuario.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":16327,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[3442,1357],"tags":[4208,4210,4212,4206,1369],"class_list":["post-16384","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pluigin-es","category-qgis-es","tag-boton","tag-dialogo","tag-plugin-builder-fr-es","tag-pluigin","tag-qgis-es"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2026\/01\/pluginsQGIS3.jpg?fit=409%2C307&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-4gg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/16384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=16384"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/16384\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media\/16327"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=16384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=16384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=16384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}