MATLAB Answers

Problem with Toggling Invisibility of Edit Text Box

17 views (last 30 days)
Caleb Helmen
Caleb Helmen on 23 Jan 2020 at 15:16
Commented: Caleb Helmen on 28 Jan 2020 at 13:06
I've been trying to toggle the invisibility of a text box and its labels using the state buttons in Matlab, but can't figure out why it doesn't work.
There aren't any error messages popping up, just that when I press the state button in my GUI, nothing happens.
function StateButton_Pushed(app, eventdata)
button_state = get(app.StateButton, 'Value');
if button_state == get(app.StateButton, 'Max')
set(app.StateEditFieldLabel, 'Visible', 'on');
set(app.StateEditField, 'Visible','on');
elseif button_state == get(app.StateButton, 'Min')
set(app.StateEditFieldLabel, 'Visible', 'off');
set(app.StateEditField, 'Visible','off');
end
end
Also I have the StateEditField and StateEditFieldLabel both preset to be invisible in the constructor.
What is the problem here?

  4 Comments

Show 1 older comment
Caleb Helmen
Caleb Helmen on 24 Jan 2020 at 12:46
Thank you! I'll try that.
StateButton is a toggle button. Also what exactly does drawnow() do?
Geoff Hayes
Geoff Hayes on 24 Jan 2020 at 20:31
drawnow updates the figure and processes the callbacks. Is there something in the eventdata that might help you determine the state of the toggle button?

Sign in to comment.

Accepted Answer

Allen
Allen on 24 Jan 2020 at 22:51
With App Designer you need to look at the Object's value property as you are doing. However, it will return a logical value. If it is depressed it will return 1 (true), else it will return 0 (false).
function StateButton_Pushed(app, eventdata)
value = app.StateButton.Value;
if value % I am considering this the pressed state
set(app.StateEditFieldLabel, 'Visible', 'on');
set(app.StateEditField, 'Visible','on');
elseif ~value % I am considering this the normal state
set(app.StateEditFieldLabel, 'Visible', 'off');
set(app.StateEditField, 'Visible','off');
end
end

  1 Comment

Caleb Helmen
Caleb Helmen on 28 Jan 2020 at 13:06
Thank you, this helped. I changed the code to receive logical values for the .Value statements and it seemed to make it work.

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Products


Release

R2019a

Translated by