Slider
__init__(
self,
master,
start=0,
end=100,
horizontal=True,
command=None,
grid=None,
align=None,
visible=True,
enabled=None,
width=None,
height=None)
What is it?
The Slider
object displays a bar and selector which can be used to specify a value in a range.
The above code looks like this on Windows:
How do I make one?
Create a Slider
object like this:
from guizero import App, Slider
app = App()
slider = Slider(app)
app.display()
Starting paramters
When you create a Slider
object, you must specify a master
and you can specify any of the the optional parameters. Specify parameters in the brackets, like this: slider = Slider(app, horizontal=False)
Parameter | Takes | Default | Compulsory | Description |
---|---|---|---|---|
master | App, Window or Box | - | Yes | The container to which this widget belongs |
align | string | None | - | Alignment of this widget within its container. Possible values: "top" , "bottom" , "left" , "right" . |
command | function name | None | - | The name of a function to call when the slider value is changed |
end | int | 100 | - | The largest value selectable on the slider |
grid | List [int, int] | None | - | [x,y] coordinates of this widget. This parameter is only required if the master object has a grid layout. |
horizontal | Boolean | True | - | Whether you wish to display your slider horizontally or vertically (defaults to horizontal) |
start | int | 0 | - | The smallest value selectable on the slider |
visible | boolean | True | No | If the widget should be visible. |
enabled | boolean | None | No | If the widget should be enabled. If None (the default) the enabled property will be inherited from the master |
width | size | None | No | Set the width of the widget in pixels or to "fill" |
height | size | None | No | Set the height of the widget in pixels or to "fill" |
Methods
You can call the following methods on a Slider
object.
Method | Takes | Returns | Description |
---|---|---|---|
the function specified in command |
|||
after(time, command, args=None) | time (int), command (function name), args (list of arguments) | - | Schedules a single call to command after time milliseconds. (To repeatedly call the same command, use repeat() ) |
cancel(command) | command (function name) | - | Cancels a scheduled call to command |
destroy() | - | - | Destroys the widget |
disable() | - | - | Disables the widget so that it is "greyed out" and cannot be interacted with |
enable() | - | - | Enables the widget |
focus() | - | - | Gives focus to the widget (e.g. focusing a TextBox so that the user can type inside it) |
hide() | - | - | Hides the widget from view. This method will unpack the widget from the layout manager. |
repeat(time, command, args=None) | time (int), command (function name), args (list of arguments) | - | Repeats command every time milliseconds. This is useful for scheduling a function to be regularly called, for example updating a value read from a sensor. |
resize(width, height) | width (int), height (int) | - | Sets the width and height of the widget |
show() | - | - | Displays the widget if it was previously hidden |
update_command(command) | command (function name) | - | Updates the function to call when the slider value is changed |
Properties
You can set and get the following properties:
Method | Data type | Description |
---|---|---|
align | string | The alignment of this widget within its container |
bg | color | The background colour of the widget |
enabled | boolean | True if the widget is enabled |
end | int | The largest value selectable on the slider |
font | string | The font of the text |
grid | List | [x,y] coordinates of this widget. This parameter is only required if the master object has a grid |
height | size | Set the height of the widget in pixels or to "fill" |
master | App or Box | The container to which this widget belongs |
start | int | The smallest value selectable on the slider |
text_size | int | The size of the text |
text_color | color | The colour of the text |
tk | tkinter.Scale | The internal tkinter object, see Using tkinter |
value | string | The current value of the slider |
visible | boolean | If this widget is visible |
width | size | Set the width of the widget in pixels or to "fill" |
Examples
Calling a function when the slider value changes
You can specify a function to call when the slider value changes. Your function MUST have a minimum of one parameter as it will automatically receive a string containing the value of the slider (called slider_value
in the example) when it is called.
This code has a slider and a text box, and the text box updates automatically to display the current value of the slider.
from guizero import App, Slider, TextBox
def slider_changed(slider_value):
textbox.value = slider_value
app = App()
slider = Slider(app, command=slider_changed)
textbox = TextBox(app)
app.display()