複製鏈接
請複製以下鏈接發送給好友

uicontrol

鎖定
uicontrol 創建用户界面控件對象是在窗體上創建各種組件(比如、按鈕、靜態文本框、彈出式菜單等),並指定這些組件的回調函數
中文名
uicontrol
函數描述
用於創建uicontrol圖形對象
語    法
handle= uicontrol
創    建
用户界面控件對象

uicontrol功能介紹

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

uicontrol語法

handle = uicontrol('PropertyName',PropertyValue,...)
handle = uicontrol(parent,'PropertyName',PropertyValue,...)
handle = uicontrol
uicontrol(uich)

uicontrol函數描述

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指定類型

要創建指定類型的用户界面控件對象,用户需指定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'-創建靜態文本控件。靜態文本控件常用來標識其它控件。

uicontrol應用舉例

例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 函數用於按選項內容改變對應背景色.

uicontrol相關函數

textwrap, uibuttongroup, uimenu, uipanel