繁体   English   中英

在GUI中更改面板属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM