在 MATLAB 中创建滑块组件


MATLAB 是一种高级编程语言,允许我们创建 GUI 应用程序,而无需具备专业的编程知识。在 MATLAB 应用程序中,我们可以创建各种 GUI(图形用户界面)组件,例如按钮、滑块、文本和数字字段、超链接等等。

本教程旨在解释在 MATLAB 应用程序中创建滑块组件的过程。MATLAB 应用程序中的滑块组件是一个 GUI 组件,它允许用户只需沿范围轨道拖动滑块/滑杆控件即可从范围内选择特定值。在 MATLAB 中,我们可以使用内置函数“uislider”创建滑块组件。滑块是一种交互式且用户友好的工具,用于输入数值、控制参数等。

MATLAB 中滑块组件的属性

在 MATLAB 中,滑块组件具有以下关键属性:

  • 限制 - 使用限制属性,我们可以指定滑块的最小值和最大值,即范围。

  • - 滑块组件的此属性用于设置滑块的默认值。但是,用户可以通过拖动滑块控件来更改所选值。

  • 刻度和标签 - 刻度和标签属性用于指示滑块轨道上的分隔线,这有助于用户轻松选择值。

  • 方向 - 此属性允许以水平方向或垂直方向创建滑块组件。

  • 回调 - 此属性允许为滑块组件分配一个操作,该操作响应用户输入。

  • 外观 - 此属性允许更改滑块组件的字体、字体颜色、宽度、高度等。

在简要概述了滑块组件之后,现在让我们看看如何在 MATLAB 应用程序中实现它。

MATLAB 中的滑块组件

语法

如上所述,MATLAB 具有一个内置函数“uislider”,用于在 MATLAB 应用程序中实现滑块组件。此函数具有以下语法:

slider_name = uislider(parameters);

此处,滑块函数的参数是可选的。

以下 MATLAB 程序演示了不同类型滑块的实现。

(1). 具有默认属性的滑块组件

要在 MATLAB 中创建具有默认属性的滑块组件,我们可以使用“uislider”函数的以下语法。

s = uislider;

请参考以下 MATLAB 程序以了解此语法的实现。

Matlab 示例(1)

% MATLAB code to create a simple slider without properties
% Create a UI figure window
fig = uifigure('Name', 'My Slider');

% Create and display the slider
s = uislider(fig);

输出

解释

此 MATLAB 程序创建了一个 UI 图形窗口,其中包含一个具有默认属性的滑块。

(2). 具有指定属性的滑块组件

“uislider”函数的以下语法可用于创建具有自定义属性的 UI 滑块组件。

>s = uislider(---, 'PropertyName', 'PropertyValue', …);

此处,“PropertyName”将是滑块组件的属性,如 Position、Limits、Orientation 等,“PropertyValue”将是指定属性的值。

请考虑以下 MATLAB 程序以了解此语法的实现。

Matlab 示例(2)

% MATLAB program to create a slider component with specified properties
% Create a UI figure as a parent container
fig = uifigure('Name', 'Select a Sine Angle');

% Create a slider component
s = uislider(fig, 'Position', [40, 80, 250, 3], 'Limits', [0, 90], 'Value', 45, 'MajorTicks', [0, 30, 45, 60, 90], 'MinorTicks', []);

输出

解释

此 MATLAB 代码将显示一个 UI 图形窗口,其中包含一个滑块组件。此滑块组件的范围将为 0 到 90,其滑块控件的默认值为 45。

(3). 创建垂直滑块组件

要创建垂直滑块组件,我们必须将其方向属性指定为垂直。以下程序演示了如何创建垂直滑块组件。

Matlab 示例(3)

% MATLAB program to create a vertical slider component
% Create a UI figure as a parent container
fig = uifigure('Name', 'Vertical Slider');

% Create a slider component
s = uislider(fig, 'Position', [40, 80, 250, 3], 'Limits', [0, 100], 'Value', 45, 'Orientation', 'Vertical');

输出

解释

此 MATLAB 程序在 UI 图形窗口中创建了一个垂直方向的滑块组件。

(4). 带有回调函数的滑块组件

以下 MATLAB 程序演示了在 MATLAB 中实现带有所分配操作的滑块组件。

在此示例程序中,我们将实现一个操作,当滑块控件在滑块轨道上移动时,控件指向的值将反映在数字字段中。

Matlab 示例(4)

% MATLAB program to create slider component with callback function
% Create a figure as a parent container
fig = uifigure('Name', 'Slider with Callback Function');

% Create a number field
Number_Field = uieditfield(fig, 'Position', [150, 200, 50, 25]);

% Create a slider component
s = uislider(fig, 'Position', [100, 150, 200, 3], 'Limits', [0, 100], 'Value', 50, 'MajorTicks', [0, 50, 100]);

% Callback function to update number field
s.ValueChangedFcn = @(source, event) UpdateNumField(source, Number_Field);

% Callback function to update number field
function UpdateNumField(slider, Number_Field)
   Number_Field.Value = num2str(slider.Value);
end

输出

解释

此 MATLAB 程序创建了一个滑块组件,以及一个数字字段,用于显示滑块轨道上选择的值。

在此程序中需要注意的最重要的一点是,如果您在 MATLAB 编辑器中运行此代码,请确保将回调函数(UpdateNumField)保存在具有 .m 扩展名的单独文件中,如果您在命令窗口中运行此代码,则可以在同一脚本中指定它。

结论

这全部是关于在 MATLAB 中创建滑块组件。在本教程中,我们借助示例程序演示了如何在 MATLAB 中创建滑块组件。

更新于:2023 年 9 月 6 日

118 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告