Matlab——GUI初涉html
MATLAB GUI教學視頻0:GUI中的基本操做—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM2Mjk0MjM2.html?firsttime=200編程
——————————————————————————————————————————————————————————————————————函數
在看完這個視頻後想到一個問題ui
在一個按鍵的回調函數中實現的語句,可否放在在其餘按鍵回調函數中同樣實現?this
(能夠,可是注意的是,咱們對某個按鍵進行操做的時候,實際上觸發了那個按鍵的回調函數,因此只會運行該按鍵的回調函數)spa
這裏說下GUI傳遞數據跟句柄的一些東西,更多的能夠參看MatLab GUI 數據傳遞[1].net
回調函數:function panel_Callback(hObject, eventdata, handles) %以panel爲例code
eventdata是保留參數,能夠忽略視頻
hObject htm
在回調函數中須要調用本身的屬性時,須要用到hObject這個參數,只需hObject.屬性名(如hObject.value) 就能夠了
handles
是這個GUI界面的代號。能夠經過它獲取這個界面的全部信息。因此在控件A本身的回調函數中,要獲取或者設置別的控件的屬性,就用 handles.別的控件Tag.屬性
如set(handles.edit1,'string','123')
以上兩個參數都是典型的結構體,大概畫了下handle跟GUI的關係
在handle中定義本身的變量和引用變量
在任何地方
handles.本身的變量名 = 某些值 (其實也就是給結構體添加成員變量)
這樣你就定義了本身的變量。
b=handles.本身的變量名 (結構名加點號來引用成員變量)
就能夠獲得這個變量值,一樣也能夠修改它。
別忘了使用
guidata(hObject, handles);(不用改,直接黏貼) 在函數末尾來保存你對handles和hObject的操做。(否則你自定義的變量就沒了)
%guidata( 視窗句柄 , 所有句柄 ),若是視窗句柄位置不是視窗句柄,而是一個控件的句柄,那麼這個控件的父視窗(parent figure)會被調用。因此guidata中的視窗句柄 能夠是figure的句柄,也能夠是figure內所包含的控件的句柄,不論是哪一種狀況,最終handles會和figure相關聯。所有句柄即GUI句柄handles
怎麼在控件callback函數體以外獲取控件和用戶本身的數據
temp=get(handles.my_popup,'Value');
在其餘子函數或者非figure內控件的callback內保存用戶數據到guidata
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教學視頻2:設置GUI窗口尺寸可調—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM2Mjk3Njg0.html
——————————————————————————————————————————————————————————————————————
其實就是一個設置:Tools→GUI Opinions→Resize Behavior→Proportional .....................
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教學視頻3:滾動條數值顯示在文本框中—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM2Mjk5NjU2.html
——————————————————————————————————————————————————————————————————————
技巧是在文本框回調程序中get滾動條的value,set文本框文字改成滾動條的value
有個疑問:滾動條數值顯示在文本框中,開始時文本框無顯示
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教學視頻4:Radio Button Check Box的基本用法—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM2MzAxNDgw.html
——————————————————————————————————————————————————————————————————————
Radio Button Check Box 兩個均爲單選性的控件,選中它們則它們返回的value爲max(默認爲1),不然爲min(默認爲0)
這兩個控件中屬性中的value是指選中與否時返回的值(至關於容器,只能是max或者min的值,假如是max值,則初始化後默認顯示max值)
如在前面修改過max或者min,必須相應在這裏修改
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教學視頻5:使用Button Group繪製不一樣的正弦曲線—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM2NDg5Nzky.html
——————————————————————————————————————————————————————————————————————
在Button Group中只能選中一個單選性的控件,選中某項控件,Button Group函數中對應的編程思路是
get Button Group中的NewSelect屬性的Tag(Matlab自生成的SelectionChangeFcn註釋塊中有說明),經過switch匹配tag進行不一樣操做。
——————————————————————————————————————————————————————————————————————
MATLAB GUI教學視頻6:下拉菜單Pop-Up Menu的基本用法—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM2OTUyNDEy.html
——————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————
MATLAB GUI教學視頻7:ListBox的基本用法—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM3NTIxODIw.html
——————————————————————————————————————————————————————————————————————
以上的兩個視頻其實都是跟Button Group思路是同樣的,經過控件返回的某項屬性值來判斷選中的項目
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教學視頻8:選擇參數繪製曲線—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjM3NjU1ODMy.html
——————————————————————————————————————————————————————————————————————
在以前的基礎上再增長繪圖的功能,@知識點@是:
1——guihandles(figure1)能夠獲得一個結構體包含了figure1的全部控件的TAG 及其句柄,
2——好比說你想在一個控件中構造一個變量,而且但願能在其它控件中使用,這時候你能夠經過下面的方法
handles.abc=*******(abc是你隨便取的一個名字,其實就至關於每個控件的TAG名,而這個變量會儲存在handles結構之中)
guidata(hObject,handles) % 保存和更新handles結構體 [2]
—————————————————————————————————————————————————————————————————
MATLAB GUI教學視頻9:菜單控件menu的基本用法—在線播放—優酷網,視頻高清在線觀看
http://v.youku.com/v_show/id_XMjQzMTUzODQ4.html
——————————————————————————————————————————————————————————————————————
這一節主要是在瞭解GUI的操做(Menu editor),@知識點@是
1——在實現彈出右擊菜單功能時,須要先創建一個座標系,而後在座標系屬性中的UIContxetMenus中選中你在ContxetMenus中建立的選項名
2——若是不先創建座標系,也能夠實現繪圖的功能,至關於把figure中的圖原樣搬到當前GUI中,設置座標系能夠限定繪圖區域,雖然繪圖地方小了,可是仍是會按比例輸出圖形
3——ContxetMenus中的功能:
選上:Check mark this item 效果以下
(照片來自http://blog.sina.cn/dpool/blog/s/blog_4b1fba1901018pbx.html)
選上Separator above this item 效果就像紅色圈的那樣
—————————————————————————————————————————————————————————————————
[1]MatLab GUI 數據傳遞 - lwjaiyjk3的專欄 - 博客頻道 - CSDN.NET
http://blog.csdn.net/yujiak/article/details/8944877
[2]guidata,handles的理解(轉)
http://www.douban.com/note/152943531/