So gruppieren Sie Parameter im PyQGIS Processing Plugin

Oct 29 2020

Das PyQGIS-Verarbeitungs-Plugin, das ich schreibe, enthält viele Parameter, von denen die meisten fortgeschritten sind und für die meisten Benutzer nicht erforderlich sind. Ich mache mir Sorgen, dass ein Benutzer verwirrt ist, wenn er all diese Parameter sieht, mit denen er nicht umgehen kann. Gibt es eine Möglichkeit, Parameter in einem reduzierbaren Feld "Erweiterte Parameter" in der GUI des Plugins zu gruppieren, ähnlich wie es das integrierte Verarbeitungsprogramm "Rundes Raster" tut?

Antworten

2 etrimaille Oct 29 2020 at 06:04

Mir ist nicht klar, ob Sie PyQGIS verwenden. Es wird in Ihrer Frage nicht erwähnt. Wenn Sie nur die GUI verwenden, ist dies nur beim Erstellen eines Modells der Fall. Wenn Sie also eine Eingabe hinzufügen, können Sie auswählen, ob es sich um einen erweiterten Parameter handelt oder nicht.

Wenn Sie PyQGIS verwenden, können Sie mit einem "Flag" definieren. In der initAlgorithmFunktion Ihres Skripts für den spezifischen Parameter:

    param = QgsProcessingParameterString(
        self.NAME_OF_THE_PARAMETER,
        tr('Your label'),
        optional=False,
        defaultValue='If any default)

    # The line below will take default flags already there and adds the Advanced one

    param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
    self.addParameter(param)