-1

for ループを持つスクリプトを実行しています。for ループ内で GUI を呼び出しています。GUI を開くと 3 つの図が表示されます。次に、GUI から入力を取得するために使用されるプッシュボタンがあります。

実行していると、入力を取得せずに反復するため、入力を取得できません。
uiwait と uiresume を使用しましたが、機能しませんでした (使用できないためかもしれません)。

どんな種類の助けもいただければ幸いです。
ありがとう

これはデモ コードです:
スクリプト:

for i=1:5  
    tp1(i)  
end

GUI:

function tp1_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;  
global j  
guidata(hObject, handles);  
i=varargin{1};  
set(handles.edit1,'String',num2str(i));    



function edit2_Callback(hObject, eventdata, handles)  
global t;    
t=get(hObject,'String');    


function pushbutton1_Callback(hObject, eventdata, handles)  
global t  
t  
close('gcbf')  

これはコード スニペットです。

GUIには2つの編集ボックスがあります。edit1 は出力用で、edit2 は入力用です。

4

1 に答える 1

0

ボタンのコールバックが、他の関数によって見つけられるようにユーザー入力を配置する場所を知っていることを願っています...はいの場合は、次のようなことを試してプログラムを待機させます。

h = msgbox(                         ...
    'Close this when you''re done', ...
    'The user interface says...',   ...
    'help', 'non-modal'             ...
);
uiwait(h);
于 2013-04-17T14:07:52.697 に答える