uiprogressdlg

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

Синтаксис

d = uiprogressdlg(f)
d = uiprogressdlg(f,Name,Value)

Описание

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

пример

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

Примеры

свернуть все

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

function myprogress1
    f = uifigure;
    d = uiprogressdlg(f,'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
    f = uifigure;
    d = uiprogressdlg(f,'Title','Computing SVD',...
        'Indeterminate','on');

    % Do the SVD computation
    svd(rand(5000));

    % close the dialog box
    close(d);
end

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

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

myprogress2

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

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

    % 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 или пользовательских отмен.

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

myprogress3

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

свернуть все

Плановый показатель, заданный как объект Figure. Фигура должна быть создана с функцией uifigure.

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Примечание

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

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

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

Обменивайтесь сообщениями, заданный как вектор символов, массив ячеек из символьных векторов или массив строк. Индикаторы сообщения в диалоговом окне, выше индикатора выполнения.

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

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

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

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

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

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

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

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

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

Функции

Свойства

Введенный в R2018a