uicontrol
uicontrol
uicon uicon uicon
uicontrol 創建用戶界面控制項對象。
在窗體上創建各種組建(比如、按鈕、靜態文本框、彈出式菜單等)。並指定這些組件的回調函數。在MATLAB R2010a中,使用該函數創建簡單的GUI應用程序的示例在matlab的幫助文檔MATLAB/User Guide/Creating Graphical User Interfaces/Introduction to Creating GUIs/Creating a Simple GUI Programmatically/Programming a Simple GUI條目下。在matlab的命令窗口中鍵入doc uicontrol可以獲得該函數的官方文檔信息。
相關函數: guide
handle = uicontrol('PropertyName',PropertyValue,...)
handle = uicontrol(parent,'PropertyName',PropertyValue,...)
handle = uicontrol
uicontrol(uich)
uicontrol用於創建uicontrol圖形對象(用戶界面控制項)以實現圖形用戶界面。
1.handle = uicontrol(parent,'PropertyName',PropertyValue,...)
創建用戶界面控制項對象,並設置其屬性值。如果用戶沒有指定屬性值,則MATLAB自動使用預設屬性值。uicontrol默認的Style屬性值為pushbutton,parent屬性為當前圖形窗口(figure)。
用戶可以在命令窗口中輸入set(uicontrol)命令來查看uicontrol的屬性。
2.handle = uicontrol(parent,'PropertyName',PropertyValue,...)
在由parent所指定的對象中創建用戶界面控制項對象。parent可以是圖形窗口的句柄,也可以是uipanel的句柄,還可以是uibuttongroup的句柄。
3.handle = uicontrol
在當前圖形窗口(figure)中創建pushbutton對象。uicontrol函數設置對象的所有屬性值為預設值。
4.uicontrol(uich)
將焦點移動到由uich所指示的對象上。
【注意】
uicontrol函數可以創建如下用戶界面控制項:Check Boxes(複選框)、Editable text fields(可編輯文本框)、Frames(框架)、List boxes(列表框)、Pop-up menus(彈出式菜單)、Push buttons(下壓按鈕)、Radio buttons(單選按鈕)、Sliders(滑動條)、Static text labels(靜態文本標籤)、Toggle buttons(雙位按鈕)。
要創建指定類型的用戶界面控制項對象,用戶需指定uicontrol的Style屬性值為下列值之一:
1.'checkbox'-創建列表框。
2.'edit'-創建可編輯文本框。如果Max-Min>1,則可編輯文本框允許多行輸入。
3.'frame'-創建框架對象。框架在圖形窗口中是一個矩形的封閉區域,使用框架可以使得用戶界面清晰、易懂。框架對象沒有相應的回調函數。
4.'listbox'-列表控制項用來顯示一系列條目,允許用戶選擇一個或多個條目。如果Max-Min<=1,一次只允許選擇一個條目;如果Max-Min>1,則一次允許選擇多個條目。Value屬性值包含所選條目的索引值。
Matlab中文論壇
5.'popupmenu'-創建彈出式菜單控制項。彈出式菜單控制項不像列表控制項那樣佔用寶貴的界面窗口空間。
6.'pushbutton'-創建下壓按鈕控制項。
7.'radiobutton'-創建單選按鈕控制項。
8.'slider'-創建滑動條。用戶可以設置滑動條的最大值、最小值以及當前值。 Matlab中文論壇
9.'togglebutton'-創建雙位按鈕控制項。
10.'text'-創建靜態文本控制項。靜態文本控制項常用來標識其它控制項。
例1.
% 下面這條指令創建一個按鈕,當按下該按鈕時,清除當前坐標軸中的圖形對象 h = uicontrol('Style', 'pushbutton', 'String', 'Clear',...
'Position', [20 150 100 70], 'Callback', 'cla');
% 下面這條指令使剛才創建的按鈕得到焦點。 《Simulink與信號處理》
uicontrol(h)
例2. 創建一個背景色可以由下拉窗選擇並改變的uicontrol窗體對象(figure),當然使用時還需要一個下拉窗相應的事件回調函數(callback function)來配合,這個函數保存在與該對象同名稱的m文件。 《Simulink與信號處理》
hpop = uicontrol('Style', 'popup',...
'String', 'hsv|hot|cool|gray',...
'Position', [20 320 100 50],...
'Callback', 'setmap');
上面創建的下拉窗里包含了四種可選的顏色選項,分別為彩色(hsv)、暖色調(hot)、冷色調(cool)和灰度(gray),這四個選項間用字元'|'來分割。為了實現選中下拉窗中相應選項后,窗體(figure)的背景做相應的改變,可以在下拉窗(pop-up menu)的回調(callback)函數中編寫下列代碼:
val = get(hpop,'Value'); % 獲取pop-up menu的Value 屬性值 《Simulink與信號處理》
if val == 1
colormap(hsv) % 如果選中第一項,則背景繪製成hsv風格
elseif val == 2
colormap(hot)
elseif val == 3
colormap(cool) 《Simulink與信號處理》
elseif val == 4
colormap(gray)
end
val得到的是下拉窗中選項對應的序號(這裡有四項,第一項 hsv對應的序號值為1,hot對應的序號值為2……依此類推,注意matlab中下標都是從1開始的。),setmap 函數用於按選項內容改變對應背景色.
textwrap, uibuttongroup, uimenu, uipanel