MATLAB 创建滑块组件

在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中创建滑块组件

说明

这个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中创建滑块组件

说明

这个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中创建滑块组件

解释

这个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程序创建了一个滑块组件,其中包括一个数字字段,用于显示滑块轨道上所选的值。

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

结论

关于在MATLAB中创建滑块组件的内容就是这些。在这个教程中,我们演示了如何使用示例程序在MATLAB中创建滑块组件。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程