uifigure

Создайте фигуру для разработки приложений

Описание

пример

fig = uifigure создает фигуру для создания пользовательского интерфейса и возвращает Figure объект. Это - тип фигуры, которую использует App Designer.

пример

fig = uifigure(Name,Value) задает свойства фигуры с помощью одного или нескольких Name,Value парные аргументы.

Примеры

свернуть все

fig = uifigure;

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

fig = uifigure('Name','Plotted Results');

Получите местоположение, ширину и высоту фигуры.

p = fig.Position
ans =

   680   678   560   420

Создайте фигуру пользовательского интерфейса по умолчанию.

fig = uifigure;

Получите местоположение, ширину и высоту фигуры.

fig.Position
ans =

   681   559   560   420

Это означает, что окно рисунка расположено 681 пиксель направо и на 559 пикселей выше левого нижнего угла главного дисплея, и 560 пикселей шириной и 420 пикселей высотой.

Разделите на два ширину фигуры и высоту путем корректировки третьих и четвертых элементов радиус-вектора.

fig.Position(3:4) = [280 210];

Создайте два окна UI Figure. Блокируйте взаимодействия в рисунке 1 путем определения 'modal' как WindowStyle значение свойства для рисунка 2. Заметьте, что вы не можете взаимодействовать с рисунком 1, пока рисунок 2 не закрывается.

fig1 = uifigure('Name','Figure 1');
fig1.Position = [500 500 370 270];

fig2 = uifigure('Name','Figure 2');
fig2.Position = [540 450 370 270];
fig2.WindowStyle = 'modal';

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

Скопируйте и вставьте этот код в Редактор MATLAB®, и затем запустите closeFig.

function closeFig

fig = uifigure('Position',[100 100 425 275]);
fig.CloseRequestFcn = @(fig,event)my_closereq(fig);

    function my_closereq(fig,selection)
        
        selection = uiconfirm(fig,'Close the figure window?',...
            'Confirmation');
          
        switch selection
            case 'OK'
                delete(fig)
                
            case 'Cancel'
                return
        end
        
    end

end

Нажмите фигуру близкая кнопка. Поле Диалогового окна подтверждения открывается.

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

Этот программный файл, названный setMousePointer.m, показывает вам как:

  • Создайте фигуру пользовательского интерфейса, которая выполняет пользовательский код, когда мышь отодвинута кнопка. Для этого используйте @ оператор, чтобы присвоить mouseMoved указатель на функцию к WindowButtonMotionFcn свойство фигуры.

  • Создайте кнопку и задайте ее координаты и метку.

  • Создайте функцию обратного вызова под названием mouseMoved с пользовательским кодом вы хотите выполниться, когда мышь отодвигается кнопка. В функции запросите CurrentPoint свойство определить координаты указателя мыши. Установите Pointer свойство к 'hand' если координаты указателя в координатах кнопки.

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

function setMousePointer
    fig = uifigure('Position',[500 500 375 275]);
    fig.WindowButtonMotionFcn = @mouseMoved;

    btn = uibutton(fig);
    btnX = 50;
    btnY = 50;
    btnWidth = 100;
    btnHeight = 22;
    btn.Position = [btnX btnY btnWidth btnHeight];
    btn.Text = 'Submit Changes';

      function mouseMoved(src,event)
          mousePos = fig.CurrentPoint;

          if  (mousePos(1) >= btnX) && (mousePos(1) <= btnX + btnWidth) ...
                        && (mousePos(2) >= btnY) && (mousePos(2) <= btnY + btnHeight)

              fig.Pointer = 'hand';
          else

              fig.Pointer = 'arrow';
          end

      end

end

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

свернуть все

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

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

Пример: 'Name','My App' задает My App как заголовок фигуры пользовательского интерфейса.

Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите UI Figure Properties.

Стиль окна в виде одного из следующего:

  • 'normal' — Окно рисунка независимо от других окон, и другие окна доступны, в то время как фигура отображается.

  • 'modal' — Фигура отображается сверху всех существующих окон рисунка с нормальным стилем окна, делая их недоступными, пока главная фигура существует и остается модальной. Однако любые последние данные, созданные после модальной фигуры, отобразятся.

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

  • 'alwaysontop' — Фигура отображается сверху всех других окон, включая модальные окна рисунка и окна от неприложений MATLAB. Другие окна все еще доступны.

Примечание

Это некоторые важные характеристики WindowStyle свойство и некоторые рекомендуемые лучшые практики:

  • Когда вы создаете окна UI, всегда задаете WindowStyle свойство. Если вы также хотите установить Resize или Position свойства фигуры, затем устанавливает WindowStyle свойство сначала.

  • Можно изменить WindowStyle свойство фигуры в любое время, включая то, когда фигура отображается и содержит дочерние элементы. Однако в некоторых системах, устанавливая это свойство может заставить фигуру высвечиваться или исчезать и вновь появляться, в зависимости от реализации системы нормальных и модальных окон. Для лучших визуальных результатов, набор WindowStyle свойство во время создания или когда фигура невидима.

Фигура пользовательского интерфейса модальное поведение стиля окна

Когда WindowStyle установлен в 'modal', окно UI Figure блокирует взаимодействия клавиатуры и мыши в окне UI Figure, которое было создано перед ним и имеет его Visible набор свойств к 'on'. Например, в этом рисунке 3 в качестве примера модально относительно рисунка 2, и рисунок 2 модален относительно рисунка 1.

fig1 = uifigure('Name','Figure 1');
fig1.WindowStyle = 'modal';

fig2 = uifigure('Name','Figure 2');
fig2.WindowStyle = 'modal';

fig3 = uifigure('Name','Figure 3');
fig3.WindowStyle = 'modal';
Иерархия модальности не сохраняется, если существует комбинация модальных и нормальных фигур в иерархии фигур.

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

Ввод Ctrl+C, когда модальная фигура фокусируется причины, которые фигурируют, чтобы вернуться к 'normal' WindowStyle установка свойства. Это позволяет пользователю вводить в командной строке.

Фигуры пользовательского интерфейса с WindowStyle набор свойств к 'modal' и Visible набор свойств к 'off' не ведите себя модально, пока MATLAB не делает их видимыми. Поэтому можно скрыть модальное окно для более позднего повторного использования, вместо того, чтобы уничтожить его.

Модальные фигуры не делают дочерних элементов меню отображения, встроенных меню или панелей инструментов. Но, это не ошибка создать меню на модальном рисунке или изменить WindowStyle установка свойства на 'modal' на фигуре с дочерними элементами меню. Menu объекты существуют, и фигура сохраняет их. Если вы сбрасываете фигуру пользовательского интерфейса WindowStyle свойство к 'normal', отображение меню.

Имя фигуры в виде вектора символов или строкового скаляра.

Пример: uifigure('Name','Results') определяет имя фигуры к 'Results'.

В App Designer, значении по умолчанию Name свойством является 'MATLAB App'.

Местоположение и размер фигуры пользовательского интерфейса, исключая границы и строку заголовка в виде четырехэлементного вектора из формы [left bottom width height].

В этой таблице описываются каждый элемент в векторе.

ЭлементОписание
leftРасстояние от левого края главного дисплея к внутреннему левому краю окна UI Figure. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор.
bottomРасстояние от базового края главного дисплея к внутреннему базовому краю окна UI Figure. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор.
widthРасстояние между правыми и левыми внутренними краями фигуры пользовательского интерфейса.
heightРасстояние между верхними и нижними внутренними краями фигуры пользовательского интерфейса.

Ограничения

  • В настоящее время вы не можете передать Figure объект, созданный с uifigure функционируйте к print функция. При попытке для этого, MATLAB выдает ошибку. Для получения дополнительной информации смотрите Графику Отображения в App Designer.

Советы

  • Используйте графический корневой объект, чтобы установить значения по умолчанию на корневом уровне для других типов объектов. Например, установите палитру по умолчанию для всех будущих фигур к summer палитра.

    set(groot,'DefaultFigureColormap',summer)
    Чтобы восстановить свойство к его исходному значению по умолчанию MATLAB, используйте 'remove' ключевое слово.
    set(groot,'DefaultFigureColormap','remove')
    Для получения дополнительной информации об установке значений по умолчанию смотрите Значения свойств По умолчанию.

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

Функции

Свойства

Введенный в R2016a