==========================
ipywidgets_toggle_buttons
.. image:: https://img.shields.io/github/last-commit/stas-prokopiev/ipywidgets_toggle_buttons
:target: https://img.shields.io/github/last-commit/stas-prokopiev/ipywidgets_toggle_buttons
:alt: GitHub last commit
.. image:: https://img.shields.io/github/license/stas-prokopiev/ipywidgets_toggle_buttons
:target: https://github.com/stas-prokopiev/ipywidgets_toggle_buttons/blob/master/LICENSE.txt
:alt: GitHub license
.. image:: https://readthedocs.org/projects/ipywidgets-toggle-buttons/badge/?version=latest
:target: https://ipywidgets-toggle-buttons.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/ipywidgets_toggle_buttons
:target: https://img.shields.io/pypi/v/ipywidgets_toggle_buttons
:alt: PyPI
.. image:: https://img.shields.io/pypi/pyversions/ipywidgets_toggle_buttons
:target: https://img.shields.io/pypi/pyversions/ipywidgets_toggle_buttons
:alt: PyPI - Python Version
.. contents:: Table of Contents
Short Overview.
ipywidgets_toggle_buttons is a simple python package(py>=3.6)
with more toggle buttons for ipywidgets
Installation via pip:
.. code-block:: bash
pip install ipywidgets_toggle_buttons
Long Overview.
This python package consists of other ToggleButtons classes
- ToggleButtonsAutoSize - To adjust buttons size to show their's full description automatically
- MultiToggleButtons - To select a few options at once with usual ToggleButtons interface
- ToggleButtonsWithHide - ToggleButtonsAutoSize + Hidden options
- MultiToggleButtonsWithHide - MultiToggleButtons + Hidden options
| All of them will adjust size of buttons if options are modified.
| Also they have usual interfaces to work with values and options
Usage examples
ToggleButtonsAutoSize
Create and show this widget
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
from ipywidgets_toggle_buttons import ToggleButtonsAutoSize
wid = ToggleButtonsAutoSize(options=[str(i) for i in range(10)])
wid
.. image:: images/toggle_buttons_auto_size_1.JPG
.. code-block:: python
print(wid.value) # "0"
print(wid.options) # ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
print(wid.layout.width) # '100%'
.. code-block:: python
wid.options = list(wid.options) + ["ajhfkaghnkandjgnakdn"]
.. image:: images/toggle_buttons_auto_size_2.JPG
MultiToggleButtons
Create and show this widget
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
from ipywidgets_toggle_buttons import MultiToggleButtons
wid = MultiToggleButtons(
options=[str(i) for i in range(10)],
max_chosen_values=2,
)
wid
.. image:: images/multi_toggle_buttons_1.JPG
.. code-block:: python
def on_value_change(_):
print("pew")
wid.observe(on_value_change, 'value')
print(wid.value) # ()
wid.value = ["2", "8"] # "pew"
.. image:: images/multi_toggle_buttons_2.JPG
ToggleButtonsWithHide
Create and show this widget
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
from ipywidgets_toggle_buttons import ToggleButtonsWithHide
wid = ToggleButtonsWithHide(
value="0",
options_visible=[str(i) for i in range(10)],
options_hidden=[str(i) for i in range(5, 15)],
)
wid
.. image:: images/toggle_buttons_with_hide_1.JPG
After pressing the button Show Hidden Options
.. image:: images/toggle_buttons_with_hide_2.JPG
Select value 12
.. image:: images/toggle_buttons_with_hide_3.JPG
And hide Hidden options
.. image:: images/toggle_buttons_with_hide_4.JPG
.. code-block:: python
print(wid.value) # "12"
wid.options_visible = [str(i) for i in range(2)]
wid.options_hidden = [f"another {i}" for i in range(2)]
.. image:: images/toggle_buttons_with_hide_5.JPG
MultiToggleButtonsWithHide
Create and show this widget
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
from ipywidgets_toggle_buttons import MultiToggleButtonsWithHide
wid = MultiToggleButtonsWithHide(
options_visible=[str(i) for i in range(10)],
options_hidden=[str(i) for i in range(5, 15)],
max_chosen_values=4,
)
wid
.. image:: images/multi_toggle_buttons_with_hide_1.JPG
After pressing the button Show Hidden Options
.. image:: images/multi_toggle_buttons_with_hide_2.JPG
Select a few options and hide all Hidden options
.. image:: images/multi_toggle_buttons_with_hide_3.JPG
.. code-block:: python
print(wid.value) # ('1', '9', '11', '13')
print(wid.options_hidden) # ('10', '11', '12', '13', '14')
If at any moment you want to change the options then it can be done like shown below
.. code-block:: python
wid.options_visible = [str(i) for i in range(2)]
wid.options_hidden = [f"another {i}" for i in range(2)]
Links
* `PYPI <https://pypi.org/project/ipywidgets_toggle_buttons/>`_
* `readthedocs <https://ipywidgets-toggle-buttons.readthedocs.io/en/latest/>`_
* `GitHub <https://github.com/stas-prokopiev/ipywidgets_toggle_buttons>`_
Project local Links
* `CONTRIBUTING <https://github.com/stas-prokopiev/ipywidgets_toggle_buttons/blob/master/CONTRIBUTING.rst>`_.
Contacts
* Email: stas.prokopiev@gmail.com
* `vk.com <https://vk.com/stas.prokopyev>`_
* `Facebook <https://www.facebook.com/profile.php?id=100009380530321>`_
License
This project is licensed under the MIT License.