在 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 代码用于创建一个没有属性的简单滑块 % 创建一个 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 中创建滑块组件。