如何在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组件。根据需求,您可以选择Numeric EditField或Text 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组件的不同方法。