popup回调的参数问题!
窗口上面的popup控件定义为选择0,就返回k=0,选20,返回k=20,等等,同时在另外的一个窗口上面就会用到这个k值来计算。如果代码写成下面的,k值是可以传到另一个界面中进行计算:global hpop k;
Fig=figure('unit','normalized','position',[.78 .15 .2 .7],...
'name','绘制渐近线','menubar','none','numbertitle','off',...
'resize','on','toolbar','none');
set(Fig,'defaultuicontrolunits','normalized') %设置用户缺省控件单位属性值
set(Fig,'defaultuicontrolfontsize',10);
set(Fig,'defaultuicontrolhorizontal','center');
set(Fig,'defaultuicontrolfontname','隶书');
uicontrol(Fig,'style','text',...
'position',,...
'string','直线斜率(k)','horizontalalignment','left','backgroundcolor',[.8 .8 .8]);
hpush=uicontrol(Fig,'style','pushbutton',...
'position',,...
'string','退出','callback','close,clear all');
hpop=uicontrol(Fig,'style','popup',... %制作弹出菜单
'position',,...
'string',' 0| -20| 20| -40| 40| -60| 60');
hpop_callback=['global hpop,',...
'asym_v=get(hpop,''value''),',...
'switch asym_v,',...
'case 1,',...
'k=0,',...
'case 2,',...
'k=-20,',...
'case 3,',...
'k=20;',...
'case 4,',...
'k=-40,',...
'case 5,',...
'k=40,',...
'case 6,',...
'k=-60,',...
'case 7,',...
'k=60;',...
'end'];
set(hpop,'callback',hpop_callback);
但如果前面加上了function
function asym_plot
global hpop k;
.......后面的代码跟前面的一样
点击popup按钮选择数值,k值也会和前面一样显示在workspace,但是无法传递到另外一个窗口里面,我在两个界面函数中都定义k为全局变量了啊。虽然第一种可以实现我的需求,但是出现一些其他的问题,就不赘述。查了一些资料,但未领会到答案,愚钝之极,特请教各位这是什么问题,k如何传递? 另外一个窗口
其函数是在同一个m文件中吗 回老八,不在同一个m文件当中。我也想做到同一个界面上(里面包含多个函数),但是也是出现上面的这个问题,k值可以返回到workspace,但就是传不到另一个函数中去,函数都在同一个m文件。谢谢指教 原帖由 plsdd 于 2007-3-12 09:21 发表
回老八,不在同一个m文件当中。我也想做到同一个界面上(里面包含多个函数),但是也是出现上面的这个问题,k值可以返回到workspace,但就是传不到另一个函数中去,函数都在同一个m文件。谢谢指教
建议看看以下精华贴:[原创]关于GUI的一点心得体会
[ 本帖最后由 eight 于 2007-3-12 09:45 编辑 ]
页:
[1]