uicontrolでのCallbackの操作

18 ビュー (過去 30 日間)
Mamoru Mabuchi
Mamoru Mabuchi 2021 年 5 月 20 日
コメント済み: Mamoru Mabuchi 2021 年 5 月 20 日
uicontrolを使って、ボタンが押されるまで処理を保留し、ボタンが押されたら処理を再開するスクリプトを作成したいです。
下記のスクリプトを作成してみましたが、思い通りの動作をしません。
どのようにスクリプトを記述すれば良いでしょうか、アドバイスお願いします。
fig = figure(1);
aaa = 0;
button = uicontrol(fig);
button.Callback = @ButttnFunction;
while aaa == 0
end
function ButttnFunction(src,event)
assignin('caller','aaa',1);
end

回答 (1 件)

Megumi Fukuda
Megumi Fukuda 2021 年 5 月 20 日
編集済み: Megumi Fukuda 2021 年 5 月 20 日
「思い通りの動作をしません」というのは、figureが出てこない・ボタンを押せないということでしょうか。
whileの中身を以下のように変更してみてください。
while aaa == 0
disp('Button is not pressed yet')
pause(0.1);
end
pause(0.1)でwhileループの繰り返しの間に休みを入れています。ご自身の都合の良い数値に変えてみてください。
なお、GUIDEは将来的に削除される予定です。GUIDEでアプリを作成されている場合、AppDesignerへの移行をおすすめしております。詳細は以下をご覧ください。
GUIDE の移行策
https://jp.mathworks.com/help/matlab/creating_guis/differences-between-app-designer-and-guide.html
  1 件のコメント
Mamoru Mabuchi
Mamoru Mabuchi 2021 年 5 月 20 日
解決いたしました。
ありがとうございました。

サインインしてコメントする。

カテゴリ

Find more on GUIDE アプリの移行 in Help Center and File Exchange

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!