Problem with Toggling Invisibility of Edit Text Box

조회 수: 2 (최근 30일)
Caleb Helmen
Caleb Helmen 2020년 1월 23일
댓글: Caleb Helmen 2020년 1월 28일
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
Caleb Helmen
Caleb Helmen 2020년 1월 24일
Thank you! I'll try that.
StateButton is a toggle button. Also what exactly does drawnow() do?
Geoff Hayes
Geoff Hayes 2020년 1월 24일
편집: Geoff Hayes 2020년 1월 24일
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?

댓글을 달려면 로그인하십시오.

채택된 답변

Allen
Allen 2020년 1월 24일
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
Caleb Helmen
Caleb Helmen 2020년 1월 28일
Thank you, this helped. I changed the code to receive logical values for the .Value statements and it seemed to make it work.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by