[英]Change panel property in GUI
我尝试了很多东西,并通过谷歌和stackoverflow搜索关键词,我总是对同一个(对我来说没用)解决方案。
这是我的问题:
我有一个带有uibuttongroup“Youpi”的GUI,有两个单选按钮“visible”和“invi”。 我有另一个uipanel“Tralala”。
我创建以下代码:
function Youpi_SelectionChangeFcn(hObject,eventdata)
switch get(eventdata.NewValue,'Tag') % Get Tag of selected object.
case 'visible'
set(handles.Tralala, 'visible', 'on');
case 'invi'
set(handles.Tralala, 'visible', 'off');
otherwise
% Code for when there is no match.
end
它不起作用,我总是得到相同的错误消息(见下文)。 我做了这两个测试来找出问题所在:_I通过disp函数改变了大小写:当我切换我的两个单选按钮时,消息显示正确。 它不是来自SelectionChangeFcn函数。 _在第一个函数中,名为“GUI_OpeningFcn”,我输入set(handles.Tralala, 'visible', 'off');
它工作正常(例如,如果我运行GUI,我看不到面板)。
你知道为什么面板手柄从一个功能消失到另一个功能吗?
这是错误消息:
??? Undefined variable "Tralala" or class "handles.Tralala".
Error in ==> MaccorGUI>Youpi_SelectionChangeFcn at 272
set(handles.Tralala, 'visible', 'on');
Error in ==> hgfeval at 63
feval(fcn{1},varargin{:},fcn{2:end});
Error in ==> uitools.uibuttongroup.childAddedCbk>manageButtons at 80
hgfeval(cbk, source, evdata);
??? Error while evaluating uicontrol Callback
请帮我找一个解决方案。
谢谢。
好的,我找到了解决方案。 我不认为这是最好的,但至少它是有效的。
在“切换”之前,我添加了以下命令:
a = guidata(get(hObject,'parent'));
在开关而不是使用“句柄”我使用“a”。
注意:它也适用于guihandles(您可以通过这种方式访问handle.output)
您需要向选择更改函数定义添加句柄
function Youpi_SelectionChangeFcn(hObject,eventdata, handles)
我创建了一个带有按钮的组面板,每次我按下一个按钮选择一个图像,他每个按钮都有一个图像谢谢你帮我找到我正在做的源代码uipanel4_SelectionChangeFcn函数(hObject,EVENTDATA, handle)%hObject句柄到uipanel4%中的选定对象使用以下EVENTDATA结构字段(请参阅UIBUTTONGROUP)%EventName:字符串'SelectionChanged'(只读)%OldValue:先前选定对象的句柄,如果没有选择,则为空WAS%NewValue :handle当前所选对象%处理带句柄和用户数据的结构(参见GUIDAT)如果RadioButton1 == get(handles.radiobutton1,'value',1)Set(handles.axes4,'because')else radioButton2 == get (handles.radiobutton2,'value',1)设置(handles.axes4'man')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.