2012-09-27 29 views
0

我想用Bushbutton(Bushbutton)做一個主GUI。按下pb1 =>按鈕(Upb1),編輯(Uet1)和文本(Ust1)打開一個圖形(Fig)。 我想要:按Upb1時,Ust1顯示Uet1的數量(同時,更改Uet1並按Upb1,Ust1更改時)。UIcontrol回調

我寫這段代碼但沒有工作(var1未定義)。我該怎麼辦?

function Bushbutton_Callback(hObject, eventdata, handles)  % main 
     Fig=figure('MenuBar','none'); 
     Ust1= uicontrol(Fig,... 
       'Position',[50 60 80 20 ],... 
       'Style','text') 
     Uet1= uicontrol(Fig,... 
       'Position',[50 90 80 20 ],... 
       'Style','edit',... 
       'string',10,... 
       'callback',@printNum) 
    Upb1= uicontrol(Fig,... 
       'Position',[50 30 80 20 ],... 
       'Style','pushbutton',... 
       'callback',@printNum) 


function printNum(hObject, eventdata,handles)   

    var1=get(Uet1,'string') 
    set(Ust,'string',var1) 

回答

1

您需要更改第二個函數的範圍,以便它可以訪問變量Uet1和Ust1。這意味着,你需要在Bushbutton_Callback的範圍內實現它(可能要稱之爲Pushbutton_Callback ...)

function Bushbutton_Callback(hObject, eventdata, handles) 
     Fig=figure('MenuBar','none'); 
     Ust1= uicontrol(Fig,... 
      'Position',[50 60 80 20 ],... 
      'Style','text') 
     Uet1= uicontrol(Fig,... 
      'Position',[50 90 80 20 ],... 
      'Style','edit',... 
      'string',10,... 
      'callback',@printNum) 
    Upb1= uicontrol(Fig,... 
      'Position',[50 30 80 20 ],... 
      'Style','pushbutton',... 
      'callback',@printNum) 

    function printNum(hObject, eventdata,handles)   
     var1=get(Uet1,'string') 
     set(Ust1,'string',var1) 
    end 

end 
+0

坦克,它解決了。我忘記了類型「結束」。 – omid