exponenta event banner

uiwait

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

Описание

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

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

пример

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

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

пример

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

Примеры

свернуть все

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

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

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')

Блокировать выполнение программы до тех пор, пока пользователь не ответит на модальное диалоговое окно.

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

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.

Создайте кнопку «Продолжить» и дождитесь ее нажатия. Затем отобразите сообщение.

Создание кнопки с обратным вызовом, вызывающим uiresume при щелчке. Дождитесь нажатия пользователем кнопки «Продолжить» или закройте окно рисунка. Затем отобразите сообщение.

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