在 MATLAB 中创建滑块组件

matlabdata analysisprogramming更新于 2024/11/14 6:40:00

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 代码用于创建一个没有属性的简单滑块
% 创建一个 UI 图形窗口
fig = uifigure('Name', 'My Slider');

% 创建并显示滑块
s = uislider(fig);

输出

解释

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

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

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

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

此处,参数"PropertyName"将是滑块组件的属性,如位置、限制、方向等,参数"PropertyValue"将是指定属性的值。

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

Matlab 示例 (2)

% MATLAB 程序用于创建具有指定属性的滑块组件
% 创建 UI 图作为父容器
fig = uifigure('Name', 'Select a Sine Angle');

% 创建滑块组件
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 程序用于创建垂直滑块组件
% 创建 UI 图作为父容器
fig = uifigure('Name', 'Vertical Slider');

% 创建滑块组件
s = uislider(fig, 'Position', [40, 80, 250, 3], 'Limits', [0, 100], 'Value', 45, 'Orientation', 'Vertical');

输出

解释

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

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

以下 MATLAB 程序演示了在 MATLAB 中实现滑块组件并为其分配操作。

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

Matlab 示例 (4)

% MATLAB 程序创建带回调函数的滑块组件
% 创建一个图形作为父容器
fig = uifigure('Name', 'Slider with Callback Function');

% 创建数字字段
Number_Field = uieditfield(fig, 'Position', [150, 200, 50, 25]);

% 创建滑块组件
s = uislider(fig, 'Position', [100, 150, 200, 3], 'Limits', [0, 100], 'Value', 50, 'MajorTicks', [0, 50, 100]);

% 回调函数更新数字字段
s.ValueChangedFcn = @(source, event) UpdateNumField(source, Number_Field);

% 回调函数更新数字字段
function UpdateNumField(slider, Number_Field)
Number_Field.Value = num2str(slider.Value);
end

输出

解释

此 MATLAB 程序创建一个带有数字字段的滑块组件,以在滑块轨道上显示选定的值。

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

结论

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


相关文章