How to link opposite values of two buttons using ipywidgets in Python 3?
up vote
0
down vote
favorite
How do I link the value of two buttons to be opposite of one another? The widgets.jslink() function only seems to link the value to be the same, not the opposite. I know that I could use widgets.ToggleButtons() to link two buttons, but I want the success button to be green and the fail button to be red. ToggleButtons() does not appear to allow different coloring for each button. If it does, I'm open to that as a solution, as well. Here is the code I have so far (FYI: I'm running this code in JupyterLab using ipywidgets and node.js):
button_y= widgets.Button(
description='Success',
disabled=False,
button_style='success'
tooltip='Click me',
icon='check'
)
button_n= widgets.Button(
description='Failure',
disabled=False,
button_style='danger'
tooltip='Click me',
icon='check'
)
display(widgets.HBox((button_y, button_n)))
Output:
python python-3.x ipywidgets
add a comment |
up vote
0
down vote
favorite
How do I link the value of two buttons to be opposite of one another? The widgets.jslink() function only seems to link the value to be the same, not the opposite. I know that I could use widgets.ToggleButtons() to link two buttons, but I want the success button to be green and the fail button to be red. ToggleButtons() does not appear to allow different coloring for each button. If it does, I'm open to that as a solution, as well. Here is the code I have so far (FYI: I'm running this code in JupyterLab using ipywidgets and node.js):
button_y= widgets.Button(
description='Success',
disabled=False,
button_style='success'
tooltip='Click me',
icon='check'
)
button_n= widgets.Button(
description='Failure',
disabled=False,
button_style='danger'
tooltip='Click me',
icon='check'
)
display(widgets.HBox((button_y, button_n)))
Output:
python python-3.x ipywidgets
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
How do I link the value of two buttons to be opposite of one another? The widgets.jslink() function only seems to link the value to be the same, not the opposite. I know that I could use widgets.ToggleButtons() to link two buttons, but I want the success button to be green and the fail button to be red. ToggleButtons() does not appear to allow different coloring for each button. If it does, I'm open to that as a solution, as well. Here is the code I have so far (FYI: I'm running this code in JupyterLab using ipywidgets and node.js):
button_y= widgets.Button(
description='Success',
disabled=False,
button_style='success'
tooltip='Click me',
icon='check'
)
button_n= widgets.Button(
description='Failure',
disabled=False,
button_style='danger'
tooltip='Click me',
icon='check'
)
display(widgets.HBox((button_y, button_n)))
Output:
python python-3.x ipywidgets
How do I link the value of two buttons to be opposite of one another? The widgets.jslink() function only seems to link the value to be the same, not the opposite. I know that I could use widgets.ToggleButtons() to link two buttons, but I want the success button to be green and the fail button to be red. ToggleButtons() does not appear to allow different coloring for each button. If it does, I'm open to that as a solution, as well. Here is the code I have so far (FYI: I'm running this code in JupyterLab using ipywidgets and node.js):
button_y= widgets.Button(
description='Success',
disabled=False,
button_style='success'
tooltip='Click me',
icon='check'
)
button_n= widgets.Button(
description='Failure',
disabled=False,
button_style='danger'
tooltip='Click me',
icon='check'
)
display(widgets.HBox((button_y, button_n)))
Output:
python python-3.x ipywidgets
python python-3.x ipywidgets
asked Nov 9 at 19:31
dshefman
526
526
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Guessing that you want to link the disabled
attributes.
You can use the observe
method in the backend to add logic to links:
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])
You also need to change the initialisation so that only one of the buttons is enabled.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Guessing that you want to link the disabled
attributes.
You can use the observe
method in the backend to add logic to links:
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])
You also need to change the initialisation so that only one of the buttons is enabled.
add a comment |
up vote
0
down vote
Guessing that you want to link the disabled
attributes.
You can use the observe
method in the backend to add logic to links:
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])
You also need to change the initialisation so that only one of the buttons is enabled.
add a comment |
up vote
0
down vote
up vote
0
down vote
Guessing that you want to link the disabled
attributes.
You can use the observe
method in the backend to add logic to links:
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])
You also need to change the initialisation so that only one of the buttons is enabled.
Guessing that you want to link the disabled
attributes.
You can use the observe
method in the backend to add logic to links:
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])
You also need to change the initialisation so that only one of the buttons is enabled.
answered Nov 9 at 21:10
Matthias Ossadnik
53427
53427
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232196%2fhow-to-link-opposite-values-of-two-buttons-using-ipywidgets-in-python-3%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown