資源描述:
《matlabgui設(shè)計(jì)總結(jié)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、1.7以上版本的matlab,控件pushbutton背景顏色修改以后并沒有什么明顯效果,只是按鈕的邊緣顯示為所設(shè)置的背景顏色。?????????????????2.凡是在屬性對(duì)話框PropertyInspector中可以設(shè)置的屬性,都可以在其對(duì)應(yīng)的m文件中使用set(….)函數(shù)來設(shè)置3.每個(gè)控件的句柄都可以通過handles.tagname來調(diào)用(tagname是所使用的控件的tagname)4.控件EditText不會(huì)自動(dòng)生成Creatfucntion,只有回調(diào)函數(shù)——callbackfuncti
2、on???????????????5.控件StaticText也不會(huì)自動(dòng)生成CreatFunction和CallbackFunction,但是可以通過它的句柄handles.tag,對(duì)其屬性進(jìn)行修改,例如讓其顯示一些數(shù)字,就可以這么設(shè):set(handles.show,'string',num2str(t));其中handles.show是一個(gè)StaticText控件的句柄6.從控件EditText中讀取輸入的數(shù)據(jù),使用函數(shù):??str2num(get(handles.x1_trn,'string')
3、))其中handles.x1_trn是一個(gè)EditText的句柄7.若想在界面打開的時(shí)候顯示一些東西或者執(zhí)行一些動(dòng)作,可以將程序?qū)懺诤瘮?shù)OpeningFcn內(nèi)。8.關(guān)于顯示圖片,如下例:A=imread('trn.bmp');%讀取圖片trn.bmp的信息,存放在A中,此處該圖片是與本函數(shù)存放在同一根目錄下的,若不是,那么需要把圖片的完整路徑寫出來,例如’d:pictrn.bmp’B=imread('stb.bmp');%讀取圖片stb.bmp的信息,存放在A中axes(handles.axes1
4、);%指定顯示圖片的坐標(biāo)系,handles.axes1為其句柄imshow(A);%顯示圖片trn.bmp;axes(handles.axes2);%指定顯示圖片的坐標(biāo)系,handles.axes1為其句柄imshow(B);%顯示圖片stb.bmp顯示圖片還可以用函數(shù)image(…),與函數(shù)imshow區(qū)別在于,image是將圖片當(dāng)作數(shù)據(jù)來處理的,會(huì)顯示坐標(biāo)系,刻度等等,而imshow只是顯示圖片9.關(guān)于global的用法!Global用來聲明變量的通用,有點(diǎn)像C語言中的全局變量,如果要想將變量a聲
5、明為global型的,那么在所有定義和使用a的函數(shù)中都要聲明:globala;還有就是要使用global變量的函數(shù)都必須在同一根目錄下。??10.要想在一個(gè)m文件中調(diào)用另外一個(gè)m文件,只需將該文件存放在同一根目錄下,然后直接在前一m文件中寫下要調(diào)用的m文件的名字即可。MATLABGUI編程中幾個(gè)有用的程序段1、??啟動(dòng)%獲取當(dāng)前文件所在路徑currPath=fileparts(mfilename('fullpath'));%切換工作路徑到當(dāng)前位置cd(currPath);%判斷所用操作系統(tǒng)ifcomp
6、uter=='PCWIN'????%MATLAB版本號(hào)????v=version;????ifv(1)~='7'????????????????warndlg('Onlyruninmatlab7.x(R14.x)');????????returnelse????????%添加當(dāng)前路徑下的所有子目錄????????addpath(genpath(pwd));????????addpath(genpath(currPath));????endend2、??在GUI中使用Axes控件%1.刪除所有畫線及對(duì)應(yīng)
7、圖例%查找Axes控件中的畫線sameLines=findobj('type','line');%逐一刪除這些畫線????fori=1:length(sameLines)????????delete(sameLines(i))end%獲取Axes控件中的圖例(由于畫線全部被刪除,因此為空)lgStr=get(legend(handles.ResultsAxes),'String');%重新設(shè)置圖例(為空)????legend(handles.ResultsAxes,lgStr);%2.添加畫線%獲取原
8、來的圖例lgStr=get(handles.hLegend,'String');%設(shè)置下一個(gè)畫線為添加方式set(handles.ResultsAxes,'Nextplot','add');%指定要畫線的Axesaxes(handles.ResultsAxes);%畫線plot(distance_target,'-r')%添加圖例handles.hLegend=legend(handles.ResultsAxes,lgStr,'目標(biāo)距離');%3.刪除某