Problem with Toggling Invisibility of Edit Text Box
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
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
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!