matlab中uicontrol創建用戶界面控件


來源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_srchtitle

本頁對應的英文頁面已更新,但尚未翻譯。 若要查看最新內容,請點擊此處訪問英文頁面。

uicontrol

創建用戶界面控件

全頁折疊

此函數僅用於 GUIDE 或者使用 figure 函數創建的 App。App 設計工具是構建 App 的推薦環境。有關詳細信息,請參閱將 GUIDE App 遷移到 App 設計工具

 

說明

c = uicontrol 在當前圖窗中創建一個普通按鈕(默認用戶界面控件),並返回 UIControl 對象。如果圖窗不存在,則 MATLAB® 調用 figure 函數以創建一個圖窗。

示例

c = uicontrol(Name,Value) 創建一個用戶界面控件,其中包含使用一個或多個名稱-值對組參數指定的屬性值。例如,'Style','checkbox' 會創建一個復選框。

c = uicontrol(parent) 在指定的父容器中創建默認用戶界面控件,而不是默認為在當前圖窗中。

示例

c = uicontrol(parent,Name,Value) 指定用戶界面控件的父容器和一個或多個名稱-值對組參數。

示例

uicontrol(c) 將焦點放在一個以前定義的用戶界面控件上。

 

示例

全部折疊

創建單選按鈕

通過將 'Style' 名稱-值對組參數指定為 'radiobutton' 來創建單選按鈕。通過指定 'String' 名稱-值對組參數的值為單選按鈕添加標簽。

c = uicontrol('Style','radiobutton','String','Option 1');

在面板內創建滑塊

創建一個圖窗,其中有一個面板。然后,通過調用 uicontrol 函數在面板中創建滑塊,面板指定為父容器,'Style' 指定為 'slider'。接下來,將滑塊 Value 屬性設置為 0.5

f = figure;
p = uipanel(f,'Position',[0.1 0.1 0.35 0.65]);
c = uicontrol(p,'Style','slider'); c.Value = 0.5;

選擇彈出式菜單時的代碼響應

創建彈出式菜單,點擊它時會顯示選項列表。使用回調函數確定用戶選擇的列表項,並在 MATLAB 命令行窗口中顯示選擇。

將此代碼保存為 mytemps.m。以下代碼創建一個圖窗窗口,其中包含具有三個列表項的彈出式菜單。然后,它使用回調函數查詢彈出式菜單的 ValueString 屬性,並在命令行中顯示所選項。

function mytemps
f = figure;
c = uicontrol(f,'Style','popupmenu'); c.Position = [20 75 60 20]; c.String = {'Celsius','Kelvin','Fahrenheit'}; c.Callback = @selection; function selection(src,event) val = c.Value; str = c.String; str{val}; disp(['Selection: ' str{val}]); end end

運行程序以生成圖窗及其內容。

mytemps

選擇其他菜單項以更改選擇。例如,如果從彈出式菜單中選擇“Kelvin”,則命令行將顯示文本 Selection: Kelvin

編寫響應以下操作的代碼:點擊按鈕

創建普通按鈕,點擊它時會繪制數據。

將此代碼保存為 pushbuttonPlot.m。以下代碼創建一個包含坐標區和普通按鈕的圖窗窗口。每次點擊該按鈕時,回調函數都會執行並繪制五個正態分布隨機數的條形圖。

function pushbuttonPlot
f = figure;
ax = axes(f);
ax.Units = 'pixels'; ax.Position = [75 75 325 280] c = uicontrol; c.String = 'Plot Data'; c.Callback = @plotButtonPushed; function plotButtonPushed(src,event) bar(randn(1,5)); end end

運行 pushbuttonPlot,然后點擊普通按鈕。MATLAB 將繪制數據。

使可編輯的文本字段具有焦點

創建一個可編輯的文本字段,並通過將其函數句柄傳遞給 uicontrol 函數使其具有焦點。此操作會使光標在可編輯文本字段中變為活動狀態並閃爍。

c = uicontrol('Style','edit'); uicontrol(c);

輸入參數

全部折疊

parent - 父對象
當前圖窗 (默認) | Figure 對象 | Panel 對象 | ButtonGroup 對象 | Tab 對象

父對象,指定為使用 figure 函數創建的 Figure 對象或其子容器之一:PanelButtonGroupTab 對象。在創建用戶界面控件時,使用此參數指定父容器。

c - 用戶界面控制對象
UIControl 對象

用戶界面控件對象,指定為 UIControl 對象。使用此參數指定要具有焦點的一個以前定義的用戶界面控件。

示例: uicontrol(c)

名稱-值對組參數

指定可選的、以逗號分隔的 Name,Value 對組參數。Name 為參數名稱,Value 為對應的值。Name 必須放在引號中。您可采用任意順序指定多個名稱-值對組參數,如 Name1,Value1,...,NameN,ValueN 所示。

示例: uicontrol('Style','checkbox') 將復選框指定為用戶界面控件的樣式。

注意

此處所列的屬性只是一部分。有關完整列表,請參閱 UIControl 屬性

'Style' - UIControl 對象的樣式
'pushbutton' (默認) | 'togglebutton' | 'checkbox' | 'radiobutton' | ...

UIControl 對象的樣式,指定為下表中的值之一。

樣式屬性值 示例 說明
'pushbutton' 釋放鼠標按鍵前顯示為按下狀態的按鈕。
'togglebutton'


按鈕,它在外觀上類似於普通按鈕,但在視覺上有狀態指示:選中或清除。
'checkbox'


可以單獨選擇或清除的選項。
'radiobutton'


作為組的一部分的選項,選中它時會清除組中的其他選項。


要為一組單選按鈕實現互斥行為,請將它們置於 uibuttongroup 中。

'edit'

可編輯的文本字段。


要啟用多行文本,請設置 MaxMin 屬性以滿足 Max-Min > 1

'text'

靜態文本字段。通常使用靜態文本行為其他用戶界面控件添加標簽,向用戶提供信息,或指示與滑塊相關聯的值。


要使靜態文本響應鼠標點擊,請將 Enable 屬性設置為 'Inactive',並使用 ButtonDownFcn 回調編寫響應代碼。

'slider'

用戶沿水平或垂直滑動條移動的“滑塊”按鈕。按鈕沿條形的位置表示指定范圍內的值。

'listbox'

用戶可從中選擇一項或多項的項列表。與彈出式菜單不同,點擊列表框時不會展開。


要啟用多項選擇,請設置 MaxMin 屬性以滿足 Max-Min > 1。要在可以從一個列表框中選擇多項時延遲操作,您可以將完成普通按鈕與該列表框相關聯。然后,使用該按鈕的回調來計算列表框 Value 屬性。

'popupmenu'

彈出式菜單(也稱為下拉菜單),展開以顯示選項列表。關閉時,彈出式菜單指示出當前選項。如果要提供許多互斥選項,請使用彈出式菜單。

'frame' 不推薦使用 'frame' 選項。使用 uipaneluibuttongroup,而不要使用框架。在包含框架的 UI 中,GUIDE 繼續支持其中的框架,但是在 GUIDE 布局編輯器組件面板中則不顯示框架組件。

'String' - 要顯示的文本
字符向量 | 字符向量元胞數組 | 字符串數組 | 分類數組 | ...

要顯示的文本,指定為字符向量、字符向量元胞數組、字符串數組、分類數組或以管道分隔的行向量。Style 屬性指示您可以使用的數組格式。

樣式屬性 支持的數組格式 示例
'pushbutton'

字符向量


字符向量元胞數組


字符串數組


分類數組

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

'togglebutton'
'checkbox'
'radiobutton'
'edit'
'text'
'listbox'

字符向量


字符向量元胞數組


字符串數組


分類數組


管道分隔的行向量

'One'


{'One','Two','Three'}


["One" "Two" "Three"]


categorical({'one','two','three'})


'One|Two|Three'

'popupmenu'

注意

如果為普通按鈕、切換按鈕、復選框或單選按鈕指定元胞數組或分類數組,則 MATLAB 僅顯示數組中的第一個元素。

'Position' - 位置和大小
[20 20 60 20] (默認) | [left bottom width height]

位置和大小,指定為 [left bottom width height] 形式的四元素向量。默認測量單位為像素。下表介紹向量中的每個元素。

元素 說明
left 父容器的內部左邊緣與用戶界面控件的外部左邊緣之間的距離。
bottom 父容器的內部下邊緣與用戶界面控件的外部下邊緣之間的距離。
width 用戶界面控件的左右外側邊緣之間的距離。
height 用戶界面控件的上下外側邊緣之間的距離。

Position 值相對於父容器的可繪制區域。可繪制區域是指容器邊框內的區域,不包括標題所占的區域。如果父容器是一個圖窗,可繪制區域還不包括菜單欄和工具欄。

'Value' - 當前值
數字

當前值,指定為數字。用於查詢或修改某些用戶界面控件的狀態。下表說明與特定 UIControl 樣式相關的 Value 屬性。

樣式屬性 值屬性的描述
'togglebutton'
  • 已選擇:Max 屬性的值。

  • 已清除:Min 屬性的值。

'checkbox'
  • 已選擇:Max 屬性的值。

  • 已清除:Min 屬性的值。

'radiobutton'
  • 已選擇:Max 屬性的值。

  • 已清除:Min 屬性的值。

'slider' 與滑動條上的滑塊位置關聯的值。
'listbox' 與列表框中的選定項對應的數組索引。值 1(默認值)對應於列表中的第一個項。選擇多個項時,Value 屬性將行索引存儲為一個向量。
'popupmenu' 與彈出式菜單中的選定項對應的數組索引。值 1(默認值)對應於彈出式菜單中的第一項。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM