Programowo włączaj / wyłączaj panele za pomocą PyQGIS

10

W QGIS, right-clickgdzieś w obszarze paska narzędzi, panele można włączać / wyłączać, jak pokazano na zrzucie ekranu poniżej (na przykład Panel informacyjny GPS).

wprowadź opis zdjęcia tutaj

Muszę to zrobić programowo, więc jak włączać / wyłączać panele z PyQGIS? Przekonałem się, że QgsInterfaceklasa ma pewne metody addDockWidgeti removeDockWidgetmetody, ale naprawdę nie mogłem dowiedzieć się, czy jest to właściwy sposób na osiągnięcie tego ...

Jochen Schwarze
źródło

Odpowiedzi:

11

Te panele to QDockWidgets , możemy je wyszukać, objectNamesa jeśli pasują, ustaw ich widoczność na False(tj. Ukryj).

W przypadku panelu informacyjnego GPS możesz użyć:

from PyQt4.QtGui import QDockWidget
for x in iface.mainWindow().findChildren(QDockWidget):
    #print x.objectName()
    if x.objectName() == 'GPSInformation':
        x.setVisible(False)
Joseph
źródło