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