def __init__(self, key, pluginName, defaultValue, description=str(), options=Qgis.SettingsOptions()): """ Constructor for PyQgsSettingsEntryEnumFlag. :param key: argument specifies the final part of the settings key. :param pluginName: argument is inserted in the key after the section. :param defaultValue: argument specifies the default value for the settings entry. :param description: argument specifies a description for the settings entry. """ self.options = options defaultValueStr = str() self.__metaEnum = metaEnumFromValue(defaultValue) if self.__metaEnum is None or not self.__metaEnum.isValid(): QgsLogger.debug( "Invalid metaenum. Enum/Flag probably misses Q_ENUM/Q_FLAG declaration. Settings key: '{0}'" .format(self.key())) else: if self.__metaEnum.isFlag(): defaultValueStr = self.__metaEnum.valueToKeys(defaultValue) else: defaultValueStr = self.__metaEnum.valueToKey(defaultValue) self.__enumFlagClass = defaultValue.__class__ super().__init__(key, 'plugins/{}'.format(pluginName), defaultValueStr, description, options)