Activer / désactiver les panneaux par programmation avec PyQGIS

10

Dans QGIS, right-clickquelque part dans la barre d'outils, les panneaux peuvent être activés / désactivés comme indiqué dans la capture d'écran ci-dessous (le panneau d'informations GPS par exemple).

entrez la description de l'image ici

Je dois le faire par programmation, alors comment activer / désactiver les panneaux de PyQGIS? J'ai trouvé que la QgsInterfaceclasse en avait addDockWidgetet la removeDockWidgetméthode, mais je ne pouvais vraiment pas savoir si c'était la bonne façon d'y parvenir ...

Jochen Schwarze
la source

Réponses:

11

Ces panneaux sont des QDockWidgets , nous pouvons rechercher leur objectNameset si cela correspond, définir leur visibilité False(c'est- à -dire les cacher).

Ainsi, pour le panneau d'informations GPS , vous pouvez utiliser:

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