uiprogressdlg

Создайте диалоговое окно прогресса

Описание

d = uiprogressdlg(fig) отображает диалоговое окно определения прогресса на рисунке fig и возвращает ProgressDialog объект. Рисунок должна быть создана с помощью uifigure функция.

пример

d = uiprogressdlg(fig,Name,Value) задает ProgressDialog значения свойств с использованием Name,Value аргументы в виде пар. Используйте значения свойств для управления внешним видом и поведением диалогового окна. Например, вы можете добавить заголовок или сообщение в диалоговое окно или задать неопределенный индикатор прогресса.

Примеры

свернуть все

Создайте программный файл с именем myprogress1.m который создает рисунок и диалоговое окно прогресса. Обновление Value и Message свойства в трех разных точках кода.

function myprogress1
    fig = uifigure;
    d = uiprogressdlg(fig,'Title','Please Wait',...
        'Message','Opening the application');
    pause(.5)

    % Perform calculations
    % ...
    d.Value = .33; 
    d.Message = 'Loading your data';
    pause(1)

    % Perform calculations
    % ...
    d.Value = .67;
    d.Message = 'Processing the data';
    pause(1)

    % Finish calculations
    % ...
    d.Value = 1;
    d.Message = 'Finishing';
    pause(1)

    % Close dialog box
    close(d)
end

Запустите программу, чтобы открыть диалоговое окно прогресса.

myprogress1

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

function myprogress2
    fig = uifigure;
    d = uiprogressdlg(fig,'Title','Computing SVD',...
        'Indeterminate','on');
    drawnow
    
    % Do the SVD computation
    svd(rand(5000));

    % close the dialog box
    close(d)
end

Установка Indeterminate свойство к 'on' анимирует индикатор прогресса, чтобы указать, что прогнозируемое время завершения не существует. После завершения расчета, close функция закрывает диалоговое окно.

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

myprogress2

Создайте программный файл с именем myprogress3.m который создает рисунок и отображает индикатор прогресса с аппроксимацией значения pi.

function myprogress3
    fig = uifigure;
    d = uiprogressdlg(fig,'Title','Approximating Pi',...
        'Message','1','Cancelable','on');
    drawnow

    % Approximate pi^2/8 as: 1 + 1/9 + 1/25 + 1/49 + ...
    pisqover8 = 1;
    denom = 3;
    valueofpi = sqrt(8 * pisqover8);
    steps = 20000;
    for step = 1:steps 
        % Check for Cancel button press
        if d.CancelRequested
            break
        end
        % Update progress, report current estimate
        d.Value = step/steps;
        d.Message = sprintf('%12.9f',valueofpi);

        % Calculate next estimate
        pisqover8 = pisqover8 + 1 / (denom * denom);
        denom = denom + 2;
        valueofpi = sqrt(8 * pisqover8);
    end

    % Close the dialog box
    close(d)
end

Установка Cancelable свойство к 'on' создает кнопку отмены с меткой по умолчанию, Cancel. Первая команда в for цикл проверяет значение d.CancelRequested чтобы увидеть, нажал ли пользователь кнопку отмены. Если значение trueпрограмма выходит из цикла. Наконец, close(d) команда закрывает диалоговое окно после for цикл концов или пользователь отменяет.

Запустите программу, чтобы аппроксимировать pi и отобразить диалоговое окно прогресса.

myprogress3

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

свернуть все

Целевой рисунок, заданная как Figure объект. Рисунок должна быть создана с uifigure функция.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: d = uiprogressdlg(uifigure,'Value',0.25)

Примечание

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

Дробь завершена, заданная как число между 0 и 1. Индикатор прогресса достигает своей полной длины, когда значение 1. Изменение Value в различных точках вашего кода, чтобы обеспечить визуальное указание на прогресс в работающем приложении.

Типы данных: double

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

Чтобы отобразить несколько линии текста, задайте массив ячеек из векторов символов или строковые массивы. Каждый элемент массива соответствует линии текста. Жесткие пропуски внутри каждого элемента, такие как '\n', создать дополнительные линии текста.

Пример: d = uiprogressdlg(uifigure,'Message','Calculating result.');

Заголовок, заданная как вектор символов или строковый скаляр. Заголовок отображается в строке заголовка диалогового окна.

Пример: d = uiprogressdlg(uifigure,'Title','Calculating');

Неопределенный прогресс, заданный как 'off' или 'on', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Установите это свойство на 'on' предоставление анимированной панели без какой-либо конкретной информации о прогрессе. Эта анимация полезна, когда вы не знаете, сколько времени займет вычисление.

Чтобы предотвратить бессрочное отображение неопределенных полос прогресса, вызовите close функция после завершения вычислений.

Разрешить отмену, заданное как 'off' или 'on', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Значение 'on' отображает кнопку отмены в диалоговом окне. Вы можете настроить метку кнопки, задав CancelText свойство.

Когда вы разрешаете отмену, необходимо проверить значение CancelRequested свойство и вызов close функция, когда значение true. В противном случае диалоговое окно отображается бесконечно.

См. также

Функции

Свойства

Введенный в R2018a
Для просмотра документации необходимо авторизоваться на сайте