Encender / apagar paneles mediante PyQGIS mediante programación

10

En QGIS, con right-clickalgún lugar en el área de la barra de herramientas, los paneles se pueden activar / desactivar como se muestra en la captura de pantalla a continuación (el Panel de información GPS, por ejemplo).

ingrese la descripción de la imagen aquí

Necesito hacer esto mediante programación, entonces, ¿cómo activar / desactivar paneles desde PyQGIS? Descubrí que la QgsInterfaceclase tiene algo addDockWidgety removeDockWidgetmétodo, pero realmente no pude averiguar si esta es la forma correcta de lograr esto ...

Jochen Schwarze
fuente

Respuestas:

11

Esos paneles son QDockWidgets , podemos buscarlos objectNamesy, si coinciden, establecer su visibilidad en False(es decir, ocultarlos).

Entonces, para el Panel de información de GPS , puede usar:

from PyQt4.QtGui import QDockWidget
for x in iface.mainWindow().findChildren(QDockWidget):
    #print x.objectName()
    if x.objectName() == 'GPSInformation':
        x.setVisible(False)
Joseph
fuente