3
$\begingroup$

I am in the process of finishing an add-on I have been making and I am trying to work on some final tweaks. I am wondering how I can make a Python operator that is a Slider which controls the x, y, or z position of the selected object. Something like the image below except that controls position specifically.

enter image description here

Q: How to make a Python operator as a Slider?

$\endgroup$

1 Answer 1

7
$\begingroup$

Set slider property to True

Consult the docs on UILayout.prop,

prop(data, property, text="", text_ctxt="", translate=True, icon='NONE', expand=False, slider=False, toggle=False, icon_only=False, event=False, full_event=False, emboss=True, index=-1, icon_value=0)

To display the property in the UI set it to True. The default is slider = False

slider (boolean, (optional)) – Use slider widget for numeric values

Sample code

def draw(self, context):
    self.layout(context.object, "prop", slider=True)

Make sure to set the minimum and maximum of the property, if unset the default values are +/- the maximum possible value on your system and as a result the slider will sit around the middle and be somewhat meaningless.

Tip: Edit Prefs > Interface > Display and enable "Developer Extras" will enable you to right click over any (most) UI element and view source to open the code behind the UI into the text editor.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .