如何在 MATLAB 中添加 EditField 组件?


MATLAB 允许我们创建图形用户界面 (GUI) 应用程序,而无需具备编码的专业知识。它具有一个内置的组件库,其中包含各种 GUI 组件,例如按钮、编辑字段、数值编辑字段、超链接等等。在本教程中,我将解释**如何在 MATLAB 中创建 EditField 组件**。

什么是 MATLAB 中的 EditField 组件?

在 MATLAB 中,**EditField 组件**是一个图形用户界面 (GUI) 组件,用于允许用户输入和编辑文本或数字。EditField 组件是用于在 MATLAB 中构建 GUI 应用程序的基本 GUI 组件之一。

在 MATLAB 中创建 EditField 组件的方法

我们可以使用以下两种方法中的任何一种

  • MATLAB App Designer

  • 'uieditfield()' 函数

现在让我们讨论所有这些在 MATLAB 中创建 Edit Field 组件的方法以及示例。

使用 MATLAB App Designer 创建 EditField 组件

MATLAB App Designer 是 MATLAB 中一个内置的环境,它提供了一个 GUI 接口,可以通过拖放组件来创建 GUI 应用程序。

以下是使用 MATLAB 中的 App Designer 创建 EditField 的分步过程

**步骤 (1)** – 打开 MATLAB 并启动 App Designer。

**步骤 (2)** – 创建一个空白应用程序。

**步骤 (3)** – 创建空白应用程序后,您的电脑屏幕将如下所示。

**步骤 (4)** – 现在,您可以从组件库中拖放 EditField 组件。您可以根据需要选择数值编辑字段或文本编辑字段。

**步骤 (5)** – 在此步骤中,调整组件大小并将其放置在画布上的所需位置。

**步骤 (6)** - 通过更改右侧窗格中给出的属性来自定义 EditField 组件。

MATLAB 代码

我们在上述步骤中创建的上述 EditField 组件的 MATLAB 代码如下所示

classdef app1 < matlab.apps.AppBase

    % Properties that correspond to app components
    properties (Access = public)
        UIFigure            matlab.ui.Figure
        NameEditField       matlab.ui.control.EditField
        NameEditFieldLabel  matlab.ui.control.Label
        AgeEditField        matlab.ui.control.NumericEditField
        AgeEditFieldLabel   matlab.ui.control.Label
    end

    % Component initialization
    methods (Access = private)

        % Create UIFigure and components
        function createComponents(app)

            % Create UIFigure and hide until all components are created
            app.UIFigure = uifigure('Visible', 'off');
            app.UIFigure.Position = [100 100 640 480];
            app.UIFigure.Name = 'MATLAB App';

            % Create AgeEditFieldLabel
            app.AgeEditFieldLabel = uilabel(app.UIFigure);
            app.AgeEditFieldLabel.HorizontalAlignment = 'right';
            app.AgeEditFieldLabel.Position = [155 230 26 22];
            app.AgeEditFieldLabel.Text = 'Age';

            % Create AgeEditField
            app.AgeEditField = uieditfield(app.UIFigure, 'numeric');
            app.AgeEditField.Position = [196 230 243 22];

            % Create NameEditFieldLabel
            app.NameEditFieldLabel = uilabel(app.UIFigure);
            app.NameEditFieldLabel.HorizontalAlignment = 'right';
            app.NameEditFieldLabel.Position = [151 288 37 22];
            app.NameEditFieldLabel.Text = 'Name';

            % Create NameEditField
            app.NameEditField = uieditfield(app.UIFigure, 'text');
            app.NameEditField.Position = [203 288 236 22];

            % Show the figure after all components are created
            app.UIFigure.Visible = 'on';
        end
    end

    % App creation and deletion
    methods (Access = public)

        % Construct app
        function app = app1

            % Create UIFigure and components
            createComponents(app)

            % Register the app with App Designer
            registerApp(app, app.UIFigure)

            if nargout == 0
                clear app
            end
        end

        % Code that executes before app deletion
        function delete(app)

            % Delete UIFigure when app is deleted
            delete(app.UIFigure)
        end
    end
end

这就是我们如何使用 App Designer 工具轻松地在 MATLAB 应用程序中添加 EditField 组件(文本或数值)。

现在,让我们讨论另一种使用 'uieditfield' 函数创建 EditField 的方法。

使用 'uieditfield' 函数创建 EditField 组件

在 MATLAB 中,有一个内置函数 'uieditfield' 允许我们创建 EditField 组件。此函数根据用例具有不同的语法。'uieditfield' 函数的常用语法如下所示

  • e = uieditfield

  • e = uieditfield(style)

  • e = uieditfield(parent)

  • e = uieditfield(parent,style)

  • e = uieditfield(___,Name,Value)

让我们详细讨论每个语法。

创建具有默认属性的 EditField 组件

我们使用 'uieditfield' 函数的以下语法来创建具有默认属性的 EditField 组件。

e = uieditfield();

示例

请考虑以下示例以了解此语法的实现。

% MATLAB code to create an EditField with default properties
e = uieditfield();

输出

创建具有指定样式的 EditField 组件

创建具有指定样式的 EditField 组件

e = uieditfield(style);

示例

以下示例说明了此语法的实现

% MATLAB program to create an EditField component with specified style
% Create a numeric edit field
en = uieditfield('numeric');

输出

在指定的父容器内创建 EditField 组件

'uieditfield' 函数的以下语法用于在指定的父容器内创建 EditField 组件。

e = uieditfield(parent);

示例

以下 MATLAB 程序描述了此函数的代码实现

% Create a figure as parent container
fig = uifigure('Name', 'TutorialsPoint');

% Create the EditField contain within the parent
e = uieditfield(fig);

输出

在指定的父容器内创建具有指定样式的 EditField 组件

'uieditfield' 函数的以下语法用于在指定的父容器内创建具有指定样式的 EditField 组件。

e = uieditfield(parent, style);

示例

以下 MATLAB 程序描述了此函数的代码实现

% Create a figure as parent container
fig = uifigure('Name', 'TutorialsPoint');

% Create a numeric edit field
en = uieditfield(fig, 'numeric');

输出

创建具有指定属性的 EditField 组件

'uieditfield' 函数的以下语法用于创建具有指定属性的 EditField 组件。

e = uieditfield(---, Name, Value,…);

此处,名称-值对用于指定 EditField 组件的属性。

以下示例演示了此函数的代码实现。

示例

% MATLAB program to create EditField components with specific properties
% Create a parent container
fig = uifigure('Name', 'TutorialsPoint');

% Create a numeric EditField
en = uieditfield(fig, 'numeric', 'Value', 50, 'Position', [100, 100, 150, 25]);

% Create a text EditField
et = uieditfield(fig, 'Value', 'Type your name...', 'Position', [100, 150, 150, 25]);

输出

结论

这都是关于在 MATLAB 中创建 EditField 组件。总之,EditField 组件是 MATLAB 应用程序中用于允许用户输入和编辑文本和数字的 GUI 组件。在本教程中,我解释了在 MATLAB 应用程序中创建 EditField 组件的不同方法。

更新于: 2023年9月7日

73 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告