來源: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 (默認值)對應於彈出式菜單中的第一項。 |