0

ブッシュボタン(Bushbutton)でメインGUIを作りたいです。pb1 を押すと、=> プッシュボタン (Upb1)、編集 (Uet1)、およびテキスト (Ust1) を含む図 (Fig) が開きます。私が欲しい: Upb1 を押すと、Ust1 は Uet1 の数を表示します (また、Uet1 を変更して Upb1 を押すと、Ust1 が変更されます)。

私はこのコードを書きましたが、動作しませんでした (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)
4

1 に答える 1

1

変数 Uet1 と Ust1 にアクセスできるように、2 番目の関数のスコープを変更する必要があります。つまり、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
于 2012-09-27T18:59:51.040 に答える