matlab中GUI中的popupmenu如何进行参数传递
程序段如下,在popupmenu的callback里:val=get(hObject,'Value');switchvalcase1fid3=fopen('youth.t...
程序段如下,在popupmenu的callback里:
val = get(hObject,'Value');
switch val
case 1
fid3=fopen('youth.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
set(handles.pushbutton6,'string',s);
case 2
fid3=fopen('Going Home.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
case 3
fid3=fopen('Thoughts for a new year.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
case 4
fid3=fopen('Relish the Moment.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
end
guidata(hObject,handles);
在另外个控件的函数里面无法引用‘s’,请帮助
用handles.s=s是在后面的函数中使用到s的都替换成hangdles.s吗,我全部替换后没有效果
另外global s是直接把这句话打到函数前面吗? 展开
val = get(hObject,'Value');
switch val
case 1
fid3=fopen('youth.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
set(handles.pushbutton6,'string',s);
case 2
fid3=fopen('Going Home.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
case 3
fid3=fopen('Thoughts for a new year.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
case 4
fid3=fopen('Relish the Moment.txt','rt');
s=fscanf(fid3,'%c');
fclose(fid3);
end
guidata(hObject,handles);
在另外个控件的函数里面无法引用‘s’,请帮助
用handles.s=s是在后面的函数中使用到s的都替换成hangdles.s吗,我全部替换后没有效果
另外global s是直接把这句话打到函数前面吗? 展开
2个回答
展开全部
两个函数都加global s
或者在guidata(hObject,handles);前加 handles.s = s;
在另外的函数中直接调用handles.s
或者在guidata(hObject,handles);前加 handles.s = s;
在另外的函数中直接调用handles.s
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-09-09 · 知道合伙人教育行家
关注
展开全部
首先在popupmenu的string中比分3行写上a,b,c;保存
在popupmenu的回调函数中写上如下代码:
val=get(handles.popupmenu,'Value');
switch val
case 1
x=1
set(handles.popupmenu,'String','a');
case 2
x=2
set(handles.popupmenu,'String',b');
case 3
x=3
set(handles.popupmenu,'String','c');
default
msgbox('出错','warn');
end
在popupmenu的回调函数中写上如下代码:
val=get(handles.popupmenu,'Value');
switch val
case 1
x=1
set(handles.popupmenu,'String','a');
case 2
x=2
set(handles.popupmenu,'String',b');
case 3
x=3
set(handles.popupmenu,'String','c');
default
msgbox('出错','warn');
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询