Programmgesteuertes Ein- und Ausschalten von Bedienfeldern mit PyQGIS


10

In QGIS right-clickkönnen Bedienfelder an einer beliebigen Stelle im Symbolleistenbereich ein- und ausgeschaltet werden, wie im folgenden Screenshot gezeigt (z. B. im GPS-Informationsbereich).

Geben Sie hier die Bildbeschreibung ein

Ich muss dies programmgesteuert tun. Wie kann ich die Bedienfelder von PyQGIS aus ein- und ausschalten? Ich fand, dass die QgsInterfaceKlasse einige addDockWidgetund removeDockWidgetMethoden hat, aber ich konnte wirklich nicht herausfinden, ob dies der richtige Weg ist, um dies zu erreichen ...

Antworten:


11

Diese Panels sind QDockWidgets . Wir können nach ihnen suchen objectNamesund, wenn sie übereinstimmen, ihre Sichtbarkeit auf einstellen False(dh sie ausblenden).

Für das GPS-Informationspanel können Sie also Folgendes verwenden:

from PyQt4.QtGui import QDockWidget
for x in iface.mainWindow().findChildren(QDockWidget):
    #print x.objectName()
    if x.objectName() == 'GPSInformation':
        x.setVisible(False)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.