在 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 中建立滑塊元件。