在 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 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告