來源: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)
示例
創建單選按鈕
通過將 '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。以下代碼創建一個圖窗窗口,其中包含具有三個列表項的彈出式菜單。然后,它使用回調函數查詢彈出式菜單的 Value 和 String 屬性,並在命令行中顯示所選項。
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 對象或其子容器之一:Panel、ButtonGroup 或 Tab 對象。在創建用戶界面控件時,使用此參數指定父容器。
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' |
|
作為組的一部分的選項,選中它時會清除組中的其他選項。 要為一組單選按鈕實現互斥行為,請將它們置於 |
'edit' |
|
可編輯的文本字段。 要啟用多行文本,請設置 |
'text' |
|
靜態文本字段。通常使用靜態文本行為其他用戶界面控件添加標簽,向用戶提供信息,或指示與滑塊相關聯的值。 要使靜態文本響應鼠標點擊,請將 |
'slider' |
|
用戶沿水平或垂直滑動條移動的“滑塊”按鈕。按鈕沿條形的位置表示指定范圍內的值。 |
'listbox' |
|
用戶可從中選擇一項或多項的項列表。與彈出式菜單不同,點擊列表框時不會展開。 要啟用多項選擇,請設置 |
'popupmenu' |
|
彈出式菜單(也稱為下拉菜單),展開以顯示選項列表。關閉時,彈出式菜單指示出當前選項。如果要提供許多互斥選項,請使用彈出式菜單。 |
'frame' |
不推薦使用 'frame' 選項。使用 uipanel 或 uibuttongroup,而不要使用框架。在包含框架的 UI 中,GUIDE 繼續支持其中的框架,但是在 GUIDE 布局編輯器組件面板中則不顯示框架組件。 |
|
'String' - 要顯示的文本
字符向量 | 字符向量元胞數組 | 字符串數組 | 分類數組 | ...
要顯示的文本,指定為字符向量、字符向量元胞數組、字符串數組、分類數組或以管道分隔的行向量。Style 屬性指示您可以使用的數組格式。
| 樣式屬性 | 支持的數組格式 | 示例 |
|---|---|---|
'pushbutton' |
字符向量 字符向量元胞數組 字符串數組 分類數組 |
|
'togglebutton' |
||
'checkbox' |
||
'radiobutton' |
||
'edit' |
||
'text' |
||
'listbox' |
字符向量 字符向量元胞數組 字符串數組 分類數組 管道分隔的行向量 |
|
'popupmenu' |
注意
如果為普通按鈕、切換按鈕、復選框或單選按鈕指定元胞數組或分類數組,則 MATLAB 僅顯示數組中的第一個元素。
'Position' - 位置和大小
[20 20 60 20] (默認) | [left bottom width height]
位置和大小,指定為 [left bottom width height] 形式的四元素向量。默認測量單位為像素。下表介紹向量中的每個元素。
| 元素 | 說明 |
|---|---|
left |
父容器的內部左邊緣與用戶界面控件的外部左邊緣之間的距離。 |
bottom |
父容器的內部下邊緣與用戶界面控件的外部下邊緣之間的距離。 |
width |
用戶界面控件的左右外側邊緣之間的距離。 |
height |
用戶界面控件的上下外側邊緣之間的距離。 |
Position 值相對於父容器的可繪制區域。可繪制區域是指容器邊框內的區域,不包括標題所占的區域。如果父容器是一個圖窗,可繪制區域還不包括菜單欄和工具欄。
'Value' - 當前值
數字
當前值,指定為數字。用於查詢或修改某些用戶界面控件的狀態。下表說明與特定 UIControl 樣式相關的 Value 屬性。
| 樣式屬性 | 值屬性的描述 |
|---|---|
'togglebutton' |
|
'checkbox' |
|
'radiobutton' |
|
'slider' |
與滑動條上的滑塊位置關聯的值。 |
'listbox' |
與列表框中的選定項對應的數組索引。值 1(默認值)對應於列表中的第一個項。選擇多個項時,Value 屬性將行索引存儲為一個向量。 |
'popupmenu' |
與彈出式菜單中的選定項對應的數組索引。值 1(默認值)對應於彈出式菜單中的第一項。 |


