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.

Подробнее о

свернуть все

Диалоговое окно Modal

Модальное диалоговое окно препятствует взаимодействию пользователя с другими окнами MATLAB перед ответом на диалоговое окно.

См. также

| |

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