uiwait

Блокируйте выполнение программы и ожидайте, чтобы возобновиться

Описание

uiwait выполнение блоков до uiresume функция вызвана или текущая фигура (gcf) удален.

uiwait функциональные блоки MATLAB® и выполнение программы Simulink®. uiwait также блокирует выполнение моделей Simulink.

пример

uiwait(f) выполнение блоков до uiresume функция вызвана или фигура f удален. Фигура может быть той, которая создается с любым figure или uifigure функция.

Используйте uiwait функция с модальным диалоговым окном, чтобы блокировать выполнение программы и ограничить взаимодействие с пользователем только диалоговым окном, пока пользователь не отвечает на него.

пример

uiwait(f,timeout) выполнение блоков до uiresume называется, фигура удалена, или timeout секунды протекают.

Примеры

свернуть все

Создайте аварийное диалоговое окно и ожидайте пользователя, чтобы ответить на него прежде, чем позволить выполнению программы продолжаться.

Постройте график в фигуре пользовательского интерфейса и отобразите аварийное диалоговое окно. Задайте CloseFcn коллбэк для диалогового окна, которое вызывает uiresume функционируйте, когда пользователь ответит на него. Ожидайте пользователя, чтобы нажать OK в диалоговом окне или закрыть его. Когда выполнение программы возобновится, отобразите сообщение в Командном окне.

fig = uifigure;
fig.Position = [500 500 500 350]; 
ax = uiaxes(fig);
plot(ax,1:10)

uialert(fig,'A line plot was created in the axes.', ...
    'Program Information','Icon','info','CloseFcn','uiresume(fig)')

uiwait(fig)
disp('Program execution resumed')

Блокируйте выполнение программы от продолжения, пока пользователь не ответит на модальное диалоговое окно сообщения.

Постройте график на рисунке и отобразите модальное диалоговое окно сообщения. Ожидайте диалогового окна, которое будет удалено, когда пользователь нажмет OK или закроет его. Когда выполнение программы возобновится, отобразите сообщение в Командном окне.

f = figure;
plot(1:10)
msgfig = msgbox('Operation was completed successfully!','Success','modal');
uiwait(msgfig)
disp('Program execution resumed.');

A modal dialog box displays in front of a figure window that contains a line plot.

Создайте кнопку Continue и ожидайте, пока пользователь не нажмет ее. Затем отобразите сообщение.

Создайте кнопку с коллбэком, который вызывает uiresume функционируйте, когда по этому кликнут. Ожидайте пользователя, чтобы нажать Continue или закрыть окно рисунка. Затем отобразите сообщение.

f = figure('Position',[500 500 400 300]);
c = uicontrol('String','Continue','Callback','uiresume(f)');
uiwait(f)
disp('Program execution has resumed');

A "Continue" button display in the lower left corner of a figure window.

Создайте фигуру, которая закрывается после требуемого времени.

Постройте график в фигуре пользовательского интерфейса.

fig = uifigure;
fig.Position = [500 500 500 350];
ax = uiaxes(fig);
plot(ax,1:10);

Создайте пять вторых тайм-аутов. Затем закройте фигуру путем вызова close функция из try блок. Если это было уже закрыто, catch блок предотвращает ошибку, Invalid figure handle, от отображения и позволяет коду продолжать выполняться обычно.

uiwait(fig,5)

try
close(fig)
catch
end

Входные параметры

свернуть все

Объект фигуры в виде Figure объект, созданный с любым figure или uifigure функция.

Длительность тайм-аута в виде числового значения в секундах. Задайте номер, больше, чем или равный 1.

Больше о

свернуть все

Модальное диалоговое окно

Модальное диалоговое окно препятствует тому, чтобы пользователь взаимодействовал с другими окнами MATLAB прежде, чем ответить на диалоговое окно.

Смотрите также

| |

Представлено до R2006a