bl_info = { "name": "Example Add-on Preferences", "author": "Your Name Here", "version": (1, 0), "blender": (2, 65, 0), "location": "SpaceBar Search -> Add-on Preferences Example", "description": "Example Add-on", "warning": "", "doc_url": "", "tracker_url": "", "category": "Object", } import bpy from bpy.types import Operator, AddonPreferences from bpy.props import StringProperty, IntProperty, BoolProperty class ExampleAddonPreferences(AddonPreferences): # This must match the add-on name, use `__package__` # when defining this for add-on extensions or a sub-module of a Python package. bl_idname = __name__ filepath: StringProperty( name="Example File Path", subtype='FILE_PATH', ) number: IntProperty( name="Example Number", default=4, ) boolean: BoolProperty( name="Example Boolean", default=False, ) def draw(self, context): layout = self.layout layout.label(text="This is a preferences view for our add-on") layout.prop(self, "filepath") layout.prop(self, "number") layout.prop(self, "boolean") class OBJECT_OT_addon_prefs_example(Operator): """Display example preferences""" bl_idname = "object.addon_prefs_example" bl_label = "Add-on Preferences Example" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): preferences = context.preferences addon_prefs = preferences.addons[__name__].preferences info = "Path: {:s}, Number: {:d}, Boolean {!r}".format( addon_prefs.filepath, addon_prefs.number, addon_prefs.boolean, ) self.report({'INFO'}, info) print(info) return {'FINISHED'} # Registration def register(): bpy.utils.register_class(OBJECT_OT_addon_prefs_example) bpy.utils.register_class(ExampleAddonPreferences) def unregister(): bpy.utils.unregister_class(OBJECT_OT_addon_prefs_example) bpy.utils.unregister_class(ExampleAddonPreferences)
base class — bpy_struct
- class bpy.types.AddonPreferences(bpy_struct)¶
- bl_idname¶
- Type:
string, default “”, (never None)
- bl_system_properties_get(*, do_create=False)¶
DEBUG ONLY. Internal access to runtime-defined RNA data storage, intended solely for testing and debugging purposes. Do not access it in regular scripting work, and in particular, do not assume that it contains writable data
- Parameters:
do_create (boolean, (optional)) – Ensure that system properties are created if they do not exist yet
- Returns:
The system properties root container, or None if there are no system properties stored in this data yet, and its creation was not requested
- Return type:
- classmethod bl_rna_get_subclass(id, default=None, /)¶
- Parameters:
id (str) – The RNA type identifier.
- Returns:
The RNA type or default when not found.
- Return type:
bpy.types.Structsubclass
- classmethod bl_rna_get_subclass_py(id, default=None, /)¶
- Parameters:
id (str) – The RNA type identifier.
- Returns:
The class or default when not found.
- Return type:
type