• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    MATLAB GUIDE程序設(shè)計參數(shù)在內(nèi)部函數(shù)間及窗口間傳遞方式研究

    2015-10-09 12:22:33陳建張勝良李鑫
    軟件導(dǎo)刊 2015年9期
    關(guān)鍵詞:窗口

    陳建++張勝良++李鑫

    摘 要:MATLAB具有高效科學(xué)的計算功能、友好的用戶界面及功能豐富的應(yīng)用工具箱,在眾多科學(xué)領(lǐng)域得到了廣泛的應(yīng)用。MATLAB GUI具有學(xué)習(xí)起點(diǎn)低、易學(xué)易懂、開發(fā)周期短的優(yōu)點(diǎn),用戶不必深入掌握面向?qū)ο蟮木幊陶Z言也能設(shè)計出精美的人機(jī)界面。深入探討了MATLAB GUIDE程序設(shè)計中參數(shù)在內(nèi)部函數(shù)間及窗口間傳遞的不同方式,結(jié)合實例闡述了各方式原理,討論了其優(yōu)缺點(diǎn)、使用范圍和使用方法,以方便MATLAB GUIDE程序設(shè)計者檢索查看并對其熟練掌握。

    關(guān)鍵詞:MATLAB GUIDE;內(nèi)部函數(shù);窗口;參數(shù)傳遞

    DOIDOI:10.11907/rjdk.151537

    中圖分類號:TP301

    文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2015)009001205

    基金項目基金項目:國家自然科學(xué)基金項目(51175473);浙江省教育廳項目(Y201122752)

    作者簡介作者簡介:陳建(1975-),男,山東泰安人,博士,浙江工業(yè)大學(xué)機(jī)械學(xué)院副教授、碩士生導(dǎo)師,研究方向為綠色設(shè)計及制造、可拓設(shè)計;張勝良(1987-),男,江蘇徐州人,浙江工業(yè)大學(xué)機(jī)械學(xué)院碩士研究生,研究方向為綠色設(shè)計及制造;李鑫(1991-),女,湖南株洲人,浙江工業(yè)大學(xué)機(jī)械學(xué)院碩士研究生,研究方向為綠色設(shè)計及制造。

    0 引言

    GUI(Graphical User Interface, 圖形用戶界面)是指由窗口、菜單、對話框等各種圖形對象組成的用戶界面,提供一個友好的人機(jī)圖形交互平臺,用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對象,使計算機(jī)產(chǎn)生某種動作或變化,例如實現(xiàn)符號運(yùn)算、數(shù)值計算、圖形處理等,具有友好性、操作方便的優(yōu)點(diǎn)[1]。創(chuàng)建MATLAB GUI通常有兩種方式[2]:①使用M文件直接利用句柄圖形指令生成控件及其功能,移植性好,但是因為純代碼編寫,工作量較大,一般需要設(shè)計者有豐富的經(jīng)驗[3];②使用GUIDE(Graphical User Interface Development Environment, 圖形用戶界面開發(fā)環(huán)境),它提供了一系列工具用于建立GUI對象,這些工具極大簡化了設(shè)計和創(chuàng)建GUI的過程,可快速完成GUI界面布局,自動對M文件編程,實現(xiàn)控件的功能擴(kuò)展[410]。顯然第二種方法操作方便、效率高,更適合寫大型程序。本文討論的參數(shù)在內(nèi)部函數(shù)及窗口間的傳遞方式僅限于后者。

    參數(shù)在內(nèi)部函數(shù)及界面間的傳遞方式是MATLAB GUIDE程序設(shè)計的重點(diǎn),也是難點(diǎn),如果熟練掌握,會達(dá)到事半功倍的效果。筆者利用MATLAB GUIDE程序設(shè)計了“基于模糊AHPTOPSIS的綠色設(shè)計油鋸評價系統(tǒng)”軟件,如圖1、圖2所示,這里需要設(shè)置并處理大量的參數(shù)在內(nèi)部函數(shù)及窗口間的傳遞。

    圖1 基于模糊AHPTOPSIS的綠色設(shè)計油鋸評價系統(tǒng)

    為了敘述的方便性和統(tǒng)一性,在本文中,Variable代表參數(shù),Value代表參數(shù)值,Nameoffile代表文件名。本文只對涉及到的各類命令函數(shù)作簡單介紹,具體使用方法請參閱參考文獻(xiàn)[11]。另外,驗證實例編程時,需要在COMMAND WINDOW輸入以下代碼,清除所有窗口,以防出現(xiàn)未知錯誤。

    h=findall(0,'type','figure');

    delete(h);

    1 參數(shù)在內(nèi)部函數(shù)間傳遞方式

    MATLAB GUIDE程序設(shè)計中,參數(shù)在內(nèi)部函數(shù)間傳遞方式有多種,主要分為:handles/guidata、userdata、getappdata/setappdata、save/load、evalin/assignin、global函數(shù)等,為了形象具體地說明參數(shù)在內(nèi)部函數(shù)間傳遞的程序設(shè)計,特用一個例子來說明。如圖 3所示,其實現(xiàn)功能如下:在彈出菜單中選擇一項,然后點(diǎn)擊顯示,右邊文本就會顯示選擇的內(nèi)容,這就涉及到了彈出菜單的數(shù)據(jù)如何傳遞到觸控按鈕的問題,其中,設(shè)置窗口tag:figure,設(shè)置彈出菜單tag:popupmenu/string:軟件/導(dǎo)刊,設(shè)置觸控按鈕tag:pushbutton/enable:off,設(shè)置靜態(tài)文本tag:text,其余采用默認(rèn)設(shè)置。另外,GUIDE自動生成的M文件中,各函數(shù)除了下文添加了代碼的函數(shù)外均采用默認(rèn)代碼。

    圖2 基于模糊AHPTOPSIS的綠色設(shè)計油鋸評價系統(tǒng)參數(shù)

    圖3 參數(shù)在內(nèi)部函數(shù)間傳遞方式實例

    1.1 handles/guidata

    GUIDE中某一窗口的所有控件使用同一個handles結(jié)構(gòu)體,handles結(jié)構(gòu)體中保存了圖形窗口中所有對象的句柄,可以使用handles獲取或設(shè)置某個對象的屬性。由于handles是個結(jié)構(gòu)體,可以為它增加新的結(jié)構(gòu)域,并可在該窗口對應(yīng)的M文件各函數(shù)中共享調(diào)用,這就實現(xiàn)了參數(shù)在內(nèi)部函數(shù)間的傳遞。

    在回調(diào)函數(shù)中把參數(shù)存入handles的方式為:

    handles=guidata(handles.figure);

    handles.variable=value;

    guidata(handles.figure,handles);

    其中,handles=guidata(handles.figure)為該函數(shù)取之前的GUI數(shù)據(jù),并保存到handles中,guidata(handles.figure,handles)用來更新handles結(jié)構(gòu),生成新的GUI數(shù)據(jù)。guidata任何時刻只能管理一個GUI數(shù)據(jù),也就是說,任何GUI任何時刻只能有一個handles結(jié)構(gòu)體,并且不能使用guidata存儲除handles結(jié)構(gòu)外的任何其它數(shù)據(jù),否則,它會覆蓋handles結(jié)構(gòu)體,導(dǎo)致GUI不能運(yùn)行[11]。這里有一點(diǎn)需要注意,經(jīng)常有人引用opening函數(shù)中的guidata(hObject,handles)代替guidata(handles.figure,handles),在opening函數(shù)中,hObject是該窗口的句柄,而在回調(diào)函數(shù)中,hObject指的是該控件的句柄。當(dāng)hObject不是窗口對象句柄時,MATLAB會將handles保存到hObject的父類窗口句柄中。為了保證句柄的一致性,避免未知的錯誤,推薦使用guidata(handles.figure,handles)。

    另,handles不宜添加過多的用戶數(shù)據(jù),因為在GUIDE生成的M文件中,handles是每個回調(diào)函數(shù)的輸入?yún)?shù),這樣會加大每個回調(diào)函數(shù)不必要的內(nèi)存開銷。

    為了實現(xiàn)示例效果,可在彈出菜單和觸控按鈕的callback函數(shù)中添加如下代碼:

    function popupmenu_Callback(hObject, eventdata, handles)

    handles=guidata(handles.figure);%取得之前的GUI數(shù)據(jù),并保存到handles中去

    set(handles.pushbutton,'enable','on');%設(shè)置觸控按鈕可使用

    v = get(handles.popupmenu,'value'); % 確定選擇彈出菜單的第幾項

    str=get(handles.popupmenu,'string');%獲得彈出菜單的所有內(nèi)容

    switch v

    case 1

    handles.forshow=str{1};%選擇第一項,把字符串“軟件”添加到handles結(jié)構(gòu)體中

    case 2

    handles.forshow=str{2};%選擇第二項,把字符串“導(dǎo)刊”添加到handles結(jié)構(gòu)體中

    end

    guidata(handles.figure,handles);%更新handles結(jié)構(gòu),參數(shù)forshow被保存進(jìn)去

    function pushbutton_Callback(hObject, eventdata, handles)

    set(handles.text,'string',handles.forshow);%使文本顯示選擇的內(nèi)容

    1.2 userdata

    userdata方式用于存儲用戶定義的數(shù)據(jù),可以為任何數(shù)據(jù)類型,直接通過對象的userdata屬性進(jìn)行各個callback之間的數(shù)據(jù)存取操作。雖然使用這種方法簡單、安全性高[12],但是每個對象僅能存取一個變量值,因此當(dāng)同一對象存儲多次變量時,先前的變量就會被覆蓋掉,只保留最后一次存儲的變量,因此UserData適用于存儲簡單、單一且讀取不頻繁的數(shù)據(jù)。使用方法:

    首先將數(shù)據(jù)存儲到一個特定的對象中,建議選定該窗口:

    set(handles.figure,'userdata',variable)

    此時,variable數(shù)據(jù)就存在該窗口屬性內(nèi):

    variable= get(handles.figure,'UserData')

    取回變量,可在任意callback中獲取該數(shù)據(jù)值。

    1.3 getappdata/setappdata

    Application數(shù)據(jù)保存在GUI對象的一個未公開屬性Application Data內(nèi),該屬性的值為一個結(jié)構(gòu)體。一個GUI中,可同時存在多個Application數(shù)據(jù),通常選擇窗口對象作為Application數(shù)據(jù)的保存對象。與UserData的方式相比,明顯克服了UserData的缺點(diǎn),使一個對象能存取多個變量值,適用于變量多且讀取不頻繁的數(shù)據(jù)。使用方法:

    setappdata(handles.figure,variable,value)

    添加新的結(jié)構(gòu)域variable到對象handles.figure的Application數(shù)據(jù)中,value可以為任何類型數(shù)據(jù)。

    value=getappdata(handles.figure,variable)

    獲取對象handles.figure的Application數(shù)據(jù)中variable字段的值:

    isappdata(handles.figure,variable)

    判斷對象handles.figure的Application數(shù)據(jù)中是否存在字段variable,存在返回1,否則返回0。

    1.4 save/load

    save函數(shù)將workspace中變量用二進(jìn)制格式保存在當(dāng)前工作目錄的MAT文件下,可以使用load函數(shù)重新載入數(shù)據(jù),其思想是將某參數(shù)的值先存到磁盤,等待用的時候再調(diào)用。當(dāng)然,這種方式涉及到磁盤讀寫,速度會有影響,但卻方便對所有的全局參數(shù)進(jìn)行管理,且適用于大量數(shù)據(jù)的傳遞[12]。使用方法:

    save nameoffile.mat variable1 variable2…variableN

    把工作空間多個參數(shù)保存到名為nameoffile的MAT文件中,如果此前該MAT文件已存在,則寫成save nameoffile.mat variable append。

    return= load('nameoffile.mat')

    將nameoffile.mat加載到工作空間,返回值return為一結(jié)構(gòu)體,包括該MAT文件中的所有數(shù)據(jù)。

    1.5 evalin/assignin

    MATLAB通常的基本工作空間是base空間。MATLAB在程序運(yùn)行過程中,將為每個函數(shù)分配其函數(shù)工作空間(從基本空間中分割出的一塊, 以函數(shù)名作為其工作空間名),各個工作空間之間的變量不能直接引用,在函數(shù)退出后,該函數(shù)空間也就立即被注銷。因此,對于函數(shù)文件,運(yùn)行結(jié)果除輸出變量返回到基本工作空間或其父工作空間(調(diào)用該函數(shù)的程序工作空間)之外,其它中間變量都不在基本工作空間或其父工作空間保留。為了得到某中間變量,可使用evalin/assignin函數(shù),其優(yōu)點(diǎn)是方法簡單,但在維護(hù)工作時不能清除[12]。使用方法:

    assignin('base','variable',value)

    這樣工作空間中就生成一個名字為variable的變量,保存有value數(shù)據(jù)。

    evalin('base','variable')

    得到工作空間變量variable的數(shù)據(jù)。

    為了實現(xiàn)示例效果,可在彈出菜單和觸控按鈕的callback函數(shù)中添加如下代碼:

    function popupmenu_Callback(hObject, eventdata, handles)

    set(handles.pushbutton,'enable','on');%設(shè)置觸控按鈕可使用

    v = get(handles.popupmenu,'value');% 確定選擇彈出菜單的第幾項

    str=get(handles.popupmenu,'string');%獲得彈出菜單的所有內(nèi)容

    switch v

    case 1

    forshow=str{1};%選擇第一項,把字符串“軟件”添加到handles結(jié)構(gòu)體中

    case 2

    forshow=str{2};%選擇第二項,把字符串“導(dǎo)刊”添加到handles結(jié)構(gòu)體中

    end

    assignin('base','zsl',forshow);%工作空間中生成一個名字為zsl的變量,保存有forshow數(shù)據(jù)

    function pushbutton_Callback(hObject, eventdata, handles)

    forshow=evalin('base','zsl');%得到工作空間變量zsl的數(shù)據(jù),返回給forshow。

    set(handles.text,'string',forshow);%使文本顯示選擇的內(nèi)容

    1.6 global函數(shù)

    global函數(shù)方式是最簡單的方式,但也是最容易出錯的方式,其優(yōu)點(diǎn)很明顯:代碼可讀性好,代碼運(yùn)行效率高。因為通過函數(shù)傳參數(shù)的方式,系統(tǒng)會浪費(fèi)過多的時間在復(fù)制數(shù)據(jù)上,其缺點(diǎn)也很明顯:如果你在一個地方修改了x值,那么所有x值就都變了,會出現(xiàn)未知錯誤。另外,全局變量破壞了程序的封裝性。所以,global函數(shù)方式是最后考慮的方式,只適合在單窗口且全局變量較少或數(shù)據(jù)存取比較頻繁時使用,多窗口且全局變量較多時應(yīng)避免使用。使用方法:

    在定義全局變量時,加一句 global variable;在調(diào)用全局變量前,加一句 global variable。

    2 參數(shù)在窗口間傳遞方式

    兩個窗口間的結(jié)構(gòu)分為順序結(jié)構(gòu)和主子結(jié)構(gòu),這是相對于某個參數(shù)是先定義在調(diào)用還是調(diào)用時再定義而言的。當(dāng)窗口A運(yùn)行時產(chǎn)生的參數(shù)在后來運(yùn)行的窗口B中得到調(diào)用,則窗口A、B為順序結(jié)構(gòu);當(dāng)窗口A運(yùn)行時,需運(yùn)行窗口B得到其預(yù)定義數(shù)據(jù)或產(chǎn)生某參數(shù)以調(diào)用,則窗口A、B為主子結(jié)構(gòu),A為主窗口,B為子窗口。

    2.1 順序結(jié)構(gòu)

    MATLAB GUIDE程序設(shè)計中,參數(shù)在窗口間順序傳遞方式有多種,主要分為:findall/guidata、save/load、global函數(shù)、setappdata/getappdata等,它們各有自己的優(yōu)缺點(diǎn),下文將進(jìn)行具體闡述。為了形象具體地說明參數(shù)在順序結(jié)構(gòu)窗口間傳遞的程序設(shè)計,特用一個例子來說明,如圖 4、圖5所示,其實現(xiàn)功能如下:在窗口A的彈出菜單中選擇一項后,窗口A消失,進(jìn)入窗口B,點(diǎn)擊顯示,文本就會顯示在窗口A選擇的內(nèi)容,這就涉及到窗口A中彈出菜單的數(shù)據(jù)如何傳遞到窗口B觸控按鈕的問題。其中,在窗口A中,設(shè)置窗口tag:figure1,設(shè)置彈出菜單tag:popupmenu1/string:軟件/導(dǎo)刊,在窗口B中,設(shè)置窗口tag:figure2,設(shè)置觸控按鈕tag:pushbutton2,設(shè)置靜態(tài)文本tag:text2,其余采用默認(rèn)設(shè)置。另外,GUIDE自動生成的M文件中,各函數(shù)中除了下文添加了代碼的函數(shù)外均采用默認(rèn)代碼。

    圖4 參數(shù)在順序結(jié)構(gòu)窗口 圖5 參數(shù)在順序結(jié)構(gòu)窗口 間傳遞方式示例 間傳遞方式示例

    2.1.1 findall/guidata

    在A窗口,按照參數(shù)在內(nèi)部函數(shù)間handles/guidata的傳遞方式,把傳遞變量保存到handles中。

    在B窗口,進(jìn)行如下步驟:

    HandlesofAObject=findall(0,property1,value1,…)

    在根對象內(nèi)查找滿足要求的窗口并返回所查找到的窗口句柄,要使查找的窗口具有唯一性,可利用該窗口的多個屬性值或利用唯一屬性值:

    HandlesofAObject=guidata(HandlesofAObject)

    獲得窗口A的handles數(shù)據(jù)。

    2.1.2 save/load

    使用方法與參數(shù)在內(nèi)部函數(shù)間傳遞方式相同,故不贅述。

    2.1.3 global

    使用方法與參數(shù)在內(nèi)部函數(shù)間傳遞方式相同,故不贅述。

    2.1.4 setappdata/getappdata

    使用方法與參數(shù)在內(nèi)部函數(shù)間傳遞方式大體相同,通常選擇根對象作為Application數(shù)據(jù)的保存對象,使用方法:

    setappdata(0,variable,value)

    添加新的字段variable到根對象的Application數(shù)據(jù)中,value可以為任何類型數(shù)據(jù)。

    value=getappdata(0,variable)

    獲取根對象的Application數(shù)據(jù)中variable字段的值。

    isappdata(0,variable)

    判斷根對象的Application數(shù)據(jù)中是否存在字段variable,存在返回1,否則返回0。

    2.2 主子結(jié)構(gòu)

    MATLAB GUIDE程序設(shè)計中,參數(shù)在窗口間主子傳遞的方式主要有利用GUIDE本身的varargin/varargout傳遞和利用waitfor函數(shù)傳遞。為了形象說明參數(shù)在主子結(jié)構(gòu)窗口間傳遞的程序設(shè)計,特用一個例子來說明,如圖 6、圖7所示,其實現(xiàn)功能如下:在主窗口A中點(diǎn)擊顯示按鈕,彈出子窗口B,在子窗口B中的彈出菜單中選擇某一項后,窗口B消失,在窗口A中顯示選擇的內(nèi)容,這就涉及到子窗口B彈出菜單的數(shù)據(jù)如何傳遞到主窗口A觸控按鈕的問題,其中,在窗口A中,設(shè)置窗口tag:figure1,設(shè)置觸控按鈕tag:pushbutton1,設(shè)置靜態(tài)文本tag:text1;在窗口B中,設(shè)置窗口tag:figure2,設(shè)置彈出菜單tag:popupmenu2/string:軟件/導(dǎo)刊,其余采用默認(rèn)設(shè)置,另外,GUIDE自動生成的M文件各函數(shù)中除了下文添加了代碼的函數(shù)外均采用默認(rèn)代碼。

    圖6 參數(shù)在主子結(jié)構(gòu)窗口 圖7 參數(shù)在主子結(jié)構(gòu)窗口

    間傳遞方式示例一 間傳遞方式示例二

    2.2.1 利用GUIDE本身的varargin/varargou傳遞參數(shù)

    GUIDE執(zhí)行函數(shù)順序為:Opening函數(shù)→Output函數(shù)→Callback函數(shù),其中Opening函數(shù)和Output函數(shù)只會執(zhí)行一次,執(zhí)行完Opening函數(shù),GUI窗口就被創(chuàng)建了,執(zhí)行完Output函數(shù)就已經(jīng)輸出varargout了。若要GUI根據(jù)用戶的操作來輸出varargout,可以使用uiwait和uiresume,此時GUIDE執(zhí)行函數(shù)順序為:Opening函數(shù)→Callback函數(shù)→Output函數(shù)[11]。在窗口的OpenFcn中,如果不加uiwait,程序會直接運(yùn)行到下面,執(zhí)行OutputFcn,也就是說程序一運(yùn)行,返回值就確定了,再在其它部分對handles.output作更改也沒有效果了。加上uiwait,只有執(zhí)行了uiresume后,才會繼續(xù)執(zhí)行到OutputFcn,在此之前用戶有充分的時間設(shè)置返回值。使用方法:

    在子窗口M文件中,假設(shè)子窗口的名稱為subGUI,設(shè)想的參數(shù)輸入輸出為:[out1,out2,…,outN]=subGUI(in1,in2,…,inN)。

    (1)在OpeningFcn函數(shù)中,讀入?yún)?shù),并用guidata保存,即:

    handles.in1=varargin{1};

    handles.in2=varargin{2};

    handles.inN=varargin{N};

    guidata(hObject,handles);

    (2)在OpeningFcn函數(shù)的結(jié)尾加上uiwait(handles.figure2)。

    (3)在窗口中控制程序結(jié)束的回調(diào)函數(shù)末尾加上uiresume(handles.figure2)。

    (4)在子窗口的OutputFcn中設(shè)置要傳遞出去的參數(shù),即

    varargout{1}=handles.out1;

    varargout{2}=handles.out2;

    varargout{N}=handles.outN;

    (5)末尾添加delete(handles.figure2)結(jié)束程序。

    通過以上設(shè)置后,在主窗口就可以通過[out1,out2,…,outN]=subGUI(in1,in2,…,inN)的形式調(diào)用該子程序。在主窗口中調(diào)用子窗口時,主窗口不需要特別設(shè)置,同調(diào)用普通的函數(shù)一樣。在打開子窗口的同時,主程序還可以響應(yīng)其它控件,不需要擔(dān)心子窗口的返回值被傳錯了地方。

    在子窗口(subGUI.fig)的M文件中,添加如下代碼:

    function subGUI_OpeningFcn(hObject, eventdata, handles, varargin)

    handles.output = hObject;

    guidata(hObject, handles);

    uiwait(handles.figure2);%暫停執(zhí)行OutputFcn函數(shù)執(zhí)行回調(diào)函數(shù),直到resume命令出現(xiàn)

    function varargout = subGUI_OutputFcn(hObject, eventdata, handles)

    varargout{1} = handles.forshow;%輸出參數(shù)為handles結(jié)構(gòu)體中的forshow結(jié)構(gòu)域,即在彈出菜單選中的內(nèi)容

    delete(handles.figure2);%刪除子窗口

    function popupmenu2_Callback(hObject, eventdata, handles)

    handles=guidata(handles.figure2);%取得之前的GUI數(shù)據(jù),并保存到handles中去

    v = get(handles.popupmenu2,'value'); % 確定選擇彈出菜單的第幾項

    str=get(handles.popupmenu2,'string');%獲得彈出菜單的所有內(nèi)容

    switch v

    case 1

    handles.forshow=str{1};%選擇第一項,把字符串“軟件”添加到handles結(jié)構(gòu)體中

    case 2

    handles.forshow=str{2};%選擇第二項,把字符串“導(dǎo)刊”添加到handles結(jié)構(gòu)體中

    end

    set(handles.figure2,'visible','off');%設(shè)置子窗口不可見

    guidata(handles.figure2,handles);%更新handles結(jié)構(gòu),參數(shù)forshow被保存進(jìn)去uiresume(handles.figure2);%恢復(fù)執(zhí)行OutputFcn函數(shù)

    在主窗口(mainGUI.fig)的觸控按鈕的callback函數(shù)添加如下代碼:

    function pushbutton1_Callback(hObject, eventdata, handles)

    forshow=subGUI;%函數(shù)subGUI的返回值賦給變量forshow

    set(handles.text1,'string',forshow);%使文本顯示選擇的內(nèi)容

    2.2.2 利用waitfor函數(shù)

    waitfor函數(shù)用來阻止程序執(zhí)行,等待事件或條件的發(fā)生直到條件滿足,程序繼續(xù)執(zhí)行??梢院芎玫乩脀aitfor這一特性來進(jìn)行參數(shù)在主子窗口間傳遞。以前例說明:首先在子窗口B利用前文所述的handles/guidata,把傳遞的參數(shù)保存到handles中,然后在主窗口中點(diǎn)擊觸控按鈕,彈出子窗口B,此時利用waitfor函數(shù)來阻止主窗口A運(yùn)行,并對子窗口B進(jìn)行操作,直到操作完畢(也就是滿足了waitfor的條件),主窗口A繼續(xù)運(yùn)行,再次通過guidata函數(shù)完成主子窗口間的數(shù)據(jù)傳遞。

    在子窗口(subGUI.fig)的彈出菜單callback函數(shù)添加如下代碼:

    function popupmenu2_Callback(hObject, eventdata, handles)

    handles=guidata(handles.figure2);%取得之前的GUI數(shù)據(jù),并保存到handles中去

    v = get(handles.popupmenu2,'value'); % 確定選擇彈出菜單的第幾項

    str=get(handles.popupmenu2,'string');%獲得彈出菜單的所有內(nèi)容

    switch v

    case 1

    handles.forshow=str{1};%選擇第一項,把字符串“軟件”添加到handles結(jié)構(gòu)體中

    case 2

    handles.forshow=str{2};%選擇第二項,把字符串“導(dǎo)刊”添加到handles結(jié)構(gòu)體中

    end

    guidata(handles.figure2,handles);%更新handles結(jié)構(gòu),參數(shù)forshow被保存進(jìn)去

    set(handles.figure2,'visible','off');%設(shè)置子窗口不可見

    在主窗口(mainGUI.fig)的觸控按鈕的callback函數(shù)添加如下代碼:

    function pushbutton1_Callback(hObject, eventdata, handles)

    handlesofsubGUI =subGUI;%生成子窗口,返回其句柄

    waitfor(subGUI,'visible');%程序暫停,直到在子窗口彈出菜單中選擇一項

    handlesofsubGUI =guidata(handlesofsubGUI);%取得子窗口GUI的handles

    forshow= handlesofsubGUI.forshow;%返回handlesofsubGUI結(jié)構(gòu)體中結(jié)構(gòu)域forshow

    set(handles.text1,'string',forshow);%使文本顯示選擇的內(nèi)容

    3 結(jié)語

    本文討論了MATLAB GUIDE程序設(shè)計中參數(shù)在內(nèi)部函數(shù)間及窗口間傳遞的不同方式,并結(jié)合實例闡述了各方式原理。受篇幅限制,部分示例略。不同的傳遞方式有各自的優(yōu)缺點(diǎn)和適用范圍,在應(yīng)用時需結(jié)合具體情況選擇。

    參考文獻(xiàn)參考文獻(xiàn):

    [1] 于育民, 梁瑛. MATLABGUI在圖形可視化中的應(yīng)用[J]. 安陽工學(xué)院學(xué)報, 2010, 9(4):5354,96.

    [2] 紀(jì)元法, 孫希延, 施滸立. MATLAB的兩種圖形用戶界面參數(shù)輸入方法[J]. 電腦知識與技術(shù), 2008,2(13):728731.

    [3] 陳德偉. MATLAB圖形用戶界面的制作[J]. 常州工學(xué)院學(xué)報, 2005,18(4):811.

    [4] 徐俊立, 王強(qiáng), 金珩. MATLAB環(huán)境下的GUI編程[J]. 內(nèi)蒙古民族大學(xué)學(xué)報:自然科學(xué)版, 2006,21(6):640641.

    [5] 陳安宇, 陳偉, 石彬, 等. MATLAB圖形用戶界面的應(yīng)用研究[J]. 機(jī)電工程技術(shù), 2008,37(10):2627,46.

    [6] 梁輝. MATLAB制作圖形界面的應(yīng)用[J]. 佳木斯大學(xué)學(xué)報:自然科學(xué)版, 2003,21(4):402406.

    [7] 陳立明, 董輝 ,李加海. 基于MATLAB 6.5的圖形用戶界面應(yīng)用技術(shù)研究[J]. 電腦開發(fā)與應(yīng)用, 2005,18(4):4749.

    [8] 陳子為. 基于MATLAB GUI掃雷游戲的設(shè)計與實現(xiàn)[J]. 現(xiàn)代電子技術(shù), 2008,31(24):8588.

    [9] 王玉林, 葛蕾, 李艷斌. 新型界面開發(fā)工具:MATLAB GUI[J]. 無線電通信技術(shù), 2008,34(6):5052.

    [10] 張秋紅, 李玉忍. 用MATLAB制作圖形用戶界面[J]. 電腦開發(fā)與應(yīng)用, 2003,16(3):1011,14.

    [11] 羅華飛. MATLAB GUI設(shè)計學(xué)習(xí)手記[M]. 北京: 北京航空航天大學(xué)出版社, 2009.

    [12] 南洋, 周靜, 孟開元, 等. 基于MATLAB GUI的界面設(shè)計[J]. 石油儀器, 2008,22(6):7678.

    責(zé)任編輯(責(zé)任編輯:杜能鋼)

    猜你喜歡
    窗口
    國有企業(yè)服務(wù)窗口“四維一體”客服務(wù)新模式的實踐與探索
    淺議立案信訪窗口的建設(shè)
    商情(2017年14期)2017-06-09 12:53:30
    試探英語學(xué)習(xí)的有效“窗口”
    從港口“窗口”看中國經(jīng)濟(jì)新氣象
    核電廠DVN系統(tǒng)檢修窗口優(yōu)化
    價值工程(2017年9期)2017-04-18 10:42:37
    對做好高校辦公室工作的幾點(diǎn)思考
    綻放“窗口”的最美警花
    感悟“窗口”的結(jié)晶
    淺談住宅工程施工中的防滲漏理念及措施
    全域開放 釋放“窗口”能量
    中文乱码字字幕精品一区二区三区| 成人毛片a级毛片在线播放| 亚洲精品自拍成人| 啦啦啦在线观看免费高清www| 高清不卡的av网站| 麻豆精品久久久久久蜜桃| 成人综合一区亚洲| 久久人妻熟女aⅴ| 精品国产一区二区久久| 高清不卡的av网站| 高清在线视频一区二区三区| 少妇高潮的动态图| 亚洲色图 男人天堂 中文字幕 | 人妻系列 视频| h视频一区二区三区| 欧美xxⅹ黑人| 国产欧美另类精品又又久久亚洲欧美| 我要看黄色一级片免费的| 18禁观看日本| 国产欧美亚洲国产| 精品国产一区二区久久| 热re99久久国产66热| 飞空精品影院首页| 久久久久久久久久久免费av| av福利片在线| 亚洲精品av麻豆狂野| 超碰97精品在线观看| 熟女av电影| 1024视频免费在线观看| 成人18禁高潮啪啪吃奶动态图| 夜夜骑夜夜射夜夜干| 热re99久久精品国产66热6| 日本午夜av视频| 久久99精品国语久久久| freevideosex欧美| freevideosex欧美| 蜜臀久久99精品久久宅男| 国产精品国产三级专区第一集| 国产黄频视频在线观看| 婷婷色综合大香蕉| 亚洲欧美成人综合另类久久久| 99久久中文字幕三级久久日本| 亚洲欧美成人综合另类久久久| 久久久久久伊人网av| 免费不卡的大黄色大毛片视频在线观看| 亚洲国产精品专区欧美| √禁漫天堂资源中文www| 老司机影院成人| 日本欧美视频一区| 满18在线观看网站| 精品一区在线观看国产| 欧美成人午夜精品| 精品少妇黑人巨大在线播放| 午夜福利网站1000一区二区三区| 久久ye,这里只有精品| 97人妻天天添夜夜摸| 一级爰片在线观看| 国产福利在线免费观看视频| 亚洲综合色网址| 欧美日韩国产mv在线观看视频| av在线app专区| 人体艺术视频欧美日本| 国产激情久久老熟女| 9热在线视频观看99| 日韩电影二区| 91午夜精品亚洲一区二区三区| 男女边吃奶边做爰视频| 欧美人与性动交α欧美软件 | 久久这里只有精品19| 黄色毛片三级朝国网站| 久久久久精品人妻al黑| 观看av在线不卡| 久久精品久久精品一区二区三区| 久久精品国产a三级三级三级| 国产成人精品在线电影| 黑人高潮一二区| 久久国内精品自在自线图片| 午夜免费观看性视频| 精品人妻偷拍中文字幕| 青青草视频在线视频观看| 欧美亚洲日本最大视频资源| 久久国产精品大桥未久av| 亚洲国产av影院在线观看| 精品国产国语对白av| 十八禁高潮呻吟视频| av.在线天堂| 精品久久蜜臀av无| 欧美成人午夜精品| 国产成人精品在线电影| 亚洲内射少妇av| 日韩 亚洲 欧美在线| 久久久精品免费免费高清| 91午夜精品亚洲一区二区三区| 成人漫画全彩无遮挡| 亚洲精品中文字幕在线视频| 色94色欧美一区二区| 色吧在线观看| 精品一区二区三区视频在线| 18+在线观看网站| 免费人妻精品一区二区三区视频| 国产精品久久久久久av不卡| 免费少妇av软件| 国产女主播在线喷水免费视频网站| 国产亚洲午夜精品一区二区久久| 人妻系列 视频| 亚洲精品美女久久av网站| 免费在线观看黄色视频的| 精品国产国语对白av| 天天影视国产精品| 男女啪啪激烈高潮av片| 精品少妇久久久久久888优播| 丝袜在线中文字幕| 亚洲欧美精品自产自拍| 丰满乱子伦码专区| 美女视频免费永久观看网站| 免费观看在线日韩| 欧美精品av麻豆av| 国产深夜福利视频在线观看| 国产福利在线免费观看视频| 日本av手机在线免费观看| 男人舔女人的私密视频| 亚洲精品aⅴ在线观看| 亚洲精品国产色婷婷电影| 在线观看www视频免费| 国产在线免费精品| 国产男女内射视频| 三上悠亚av全集在线观看| 亚洲经典国产精华液单| 欧美国产精品一级二级三级| 韩国精品一区二区三区 | 一级黄片播放器| 精品少妇黑人巨大在线播放| 在线观看三级黄色| 亚洲av综合色区一区| 国产白丝娇喘喷水9色精品| 国产精品国产三级国产av玫瑰| 久久久久精品性色| 成年人免费黄色播放视频| 亚洲国产av新网站| 侵犯人妻中文字幕一二三四区| 久久毛片免费看一区二区三区| 亚洲色图 男人天堂 中文字幕 | 久久久久久久久久成人| 国产精品国产三级国产av玫瑰| 九色亚洲精品在线播放| 五月开心婷婷网| www.色视频.com| 在现免费观看毛片| 亚洲成av片中文字幕在线观看 | 精品久久久久久电影网| 黄色毛片三级朝国网站| 成人二区视频| 亚洲,欧美,日韩| 国产黄频视频在线观看| 成人18禁高潮啪啪吃奶动态图| 国产精品国产三级国产专区5o| 日韩在线高清观看一区二区三区| 美女大奶头黄色视频| 日本猛色少妇xxxxx猛交久久| 免费日韩欧美在线观看| videos熟女内射| 免费高清在线观看日韩| 成人黄色视频免费在线看| 国产日韩一区二区三区精品不卡| 人妻少妇偷人精品九色| 丝袜喷水一区| 永久免费av网站大全| 国产一区亚洲一区在线观看| 精品少妇内射三级| 极品少妇高潮喷水抽搐| 日韩,欧美,国产一区二区三区| 蜜臀久久99精品久久宅男| 国国产精品蜜臀av免费| 亚洲国产色片| 久久精品熟女亚洲av麻豆精品| 香蕉丝袜av| 亚洲国产精品专区欧美| 欧美日韩国产mv在线观看视频| 欧美xxxx性猛交bbbb| 婷婷成人精品国产| 亚洲成av片中文字幕在线观看 | 狠狠婷婷综合久久久久久88av| 久久久久视频综合| 国语对白做爰xxxⅹ性视频网站| 国产欧美日韩一区二区三区在线| 丰满饥渴人妻一区二区三| 伊人久久国产一区二区| 欧美激情国产日韩精品一区| 午夜日本视频在线| 亚洲av.av天堂| 高清不卡的av网站| 超碰97精品在线观看| 秋霞伦理黄片| 精品人妻偷拍中文字幕| 精品第一国产精品| 天堂俺去俺来也www色官网| 欧美老熟妇乱子伦牲交| 亚洲精品一二三| 老女人水多毛片| 亚洲国产日韩一区二区| 日本av免费视频播放| 亚洲内射少妇av| 色5月婷婷丁香| av.在线天堂| 18禁裸乳无遮挡动漫免费视频| 一二三四中文在线观看免费高清| 性色av一级| 精品国产一区二区三区四区第35| 成人亚洲欧美一区二区av| 欧美精品一区二区免费开放| 午夜久久久在线观看| 高清欧美精品videossex| av在线app专区| 国产白丝娇喘喷水9色精品| 最新的欧美精品一区二区| 久久久久久伊人网av| 免费久久久久久久精品成人欧美视频 | 日韩av在线免费看完整版不卡| 欧美国产精品一级二级三级| 丰满饥渴人妻一区二区三| 国产成人一区二区在线| 久久久久久久久久久久大奶| 在线观看三级黄色| 丰满少妇做爰视频| 在线亚洲精品国产二区图片欧美| 亚洲精华国产精华液的使用体验| 亚洲欧美精品自产自拍| 十分钟在线观看高清视频www| 国产免费视频播放在线视频| 国产无遮挡羞羞视频在线观看| 国产伦理片在线播放av一区| 视频在线观看一区二区三区| 国产男人的电影天堂91| 午夜免费鲁丝| 国产一级毛片在线| 国产成人精品福利久久| 精品国产一区二区久久| 春色校园在线视频观看| 秋霞伦理黄片| 成人手机av| 日本av手机在线免费观看| 日韩视频在线欧美| 最近最新中文字幕免费大全7| 激情视频va一区二区三区| av.在线天堂| 亚洲色图综合在线观看| 国产精品不卡视频一区二区| 国国产精品蜜臀av免费| 免费黄频网站在线观看国产| 99香蕉大伊视频| 人妻少妇偷人精品九色| 国产高清不卡午夜福利| 黄片播放在线免费| 成年动漫av网址| 亚洲欧洲国产日韩| 飞空精品影院首页| 成人手机av| 欧美日韩av久久| 久久久久久久久久人人人人人人| 天堂8中文在线网| 精品国产一区二区三区四区第35| 日本vs欧美在线观看视频| 久久久精品区二区三区| 高清黄色对白视频在线免费看| 热re99久久国产66热| 国产毛片在线视频| 欧美少妇被猛烈插入视频| 久久久国产欧美日韩av| 最新中文字幕久久久久| 激情视频va一区二区三区| 中文天堂在线官网| 一二三四中文在线观看免费高清| 捣出白浆h1v1| 成人漫画全彩无遮挡| 男女无遮挡免费网站观看| 亚洲国产精品专区欧美| 久久精品国产亚洲av天美| 汤姆久久久久久久影院中文字幕| 51国产日韩欧美| 欧美xxⅹ黑人| 大片免费播放器 马上看| 人妻一区二区av| 国产亚洲午夜精品一区二区久久| 国产色爽女视频免费观看| 国产欧美日韩综合在线一区二区| 免费看av在线观看网站| 日韩一本色道免费dvd| 国产精品久久久久成人av| 捣出白浆h1v1| 国产综合精华液| 欧美变态另类bdsm刘玥| 国产精品三级大全| 又黄又爽又刺激的免费视频.| av福利片在线| 在线观看www视频免费| a级毛片在线看网站| av不卡在线播放| 女性生殖器流出的白浆| 久久综合国产亚洲精品| 日韩在线高清观看一区二区三区| 欧美少妇被猛烈插入视频| 巨乳人妻的诱惑在线观看| 精品一区二区免费观看| 久热久热在线精品观看| 亚洲熟女精品中文字幕| 丝袜在线中文字幕| 美女主播在线视频| 99热全是精品| 婷婷色麻豆天堂久久| 国产精品嫩草影院av在线观看| 欧美日韩综合久久久久久| 久久精品久久精品一区二区三区| 精品人妻熟女毛片av久久网站| 欧美少妇被猛烈插入视频| 精品一区二区三卡| 久久久国产一区二区| 国产高清三级在线| 最近最新中文字幕免费大全7| 欧美成人午夜免费资源| 精品国产一区二区久久| 乱人伦中国视频| 久久精品久久久久久噜噜老黄| 蜜桃国产av成人99| 欧美人与性动交α欧美精品济南到 | 精品久久久精品久久久| 国产av码专区亚洲av| 少妇猛男粗大的猛烈进出视频| 亚洲精品美女久久av网站| 亚洲情色 制服丝袜| 午夜免费男女啪啪视频观看| 一级毛片电影观看| 国产又色又爽无遮挡免| 国产亚洲最大av| 在线观看免费视频网站a站| 黑人高潮一二区| 涩涩av久久男人的天堂| 日韩大片免费观看网站| 一级爰片在线观看| 一级片'在线观看视频| 国产精品久久久av美女十八| 在线观看三级黄色| 男女无遮挡免费网站观看| 在线观看三级黄色| 日韩精品免费视频一区二区三区 | 精品亚洲乱码少妇综合久久| av片东京热男人的天堂| 高清在线视频一区二区三区| 成人国语在线视频| 国产xxxxx性猛交| 国产一区亚洲一区在线观看| 男女无遮挡免费网站观看| 亚洲国产欧美在线一区| 亚洲三级黄色毛片| 97在线视频观看| 在线观看免费视频网站a站| 十分钟在线观看高清视频www| 纯流量卡能插随身wifi吗| 亚洲精品自拍成人| 99久久精品国产国产毛片| 免费看光身美女| 久久久国产一区二区| 亚洲少妇的诱惑av| 国产一区二区三区av在线| 在线 av 中文字幕| 岛国毛片在线播放| 色5月婷婷丁香| 亚洲欧洲国产日韩| 欧美xxxx性猛交bbbb| 国产成人精品在线电影| 一边亲一边摸免费视频| 欧美亚洲日本最大视频资源| 国产福利在线免费观看视频| 少妇猛男粗大的猛烈进出视频| 国产不卡av网站在线观看| 国产精品免费大片| 国产亚洲av片在线观看秒播厂| 超色免费av| 99久久精品国产国产毛片| 国产伦理片在线播放av一区| 久久久久精品久久久久真实原创| 狂野欧美激情性bbbbbb| 国产成人精品在线电影| 久久热在线av| 亚洲丝袜综合中文字幕| 菩萨蛮人人尽说江南好唐韦庄| 国产精品99久久99久久久不卡 | 久久久久网色| 十八禁网站网址无遮挡| 又粗又硬又长又爽又黄的视频| 美女视频免费永久观看网站| 男女啪啪激烈高潮av片| 高清欧美精品videossex| 女人久久www免费人成看片| 中文字幕另类日韩欧美亚洲嫩草| www.av在线官网国产| 精品第一国产精品| 国产亚洲av片在线观看秒播厂| 中文欧美无线码| 一本大道久久a久久精品| 成人免费观看视频高清| 亚洲情色 制服丝袜| 80岁老熟妇乱子伦牲交| 国产成人精品婷婷| 春色校园在线视频观看| 黄色配什么色好看| 人人澡人人妻人| 成人午夜精彩视频在线观看| 欧美日韩成人在线一区二区| 亚洲欧美中文字幕日韩二区| 精品酒店卫生间| 久久午夜综合久久蜜桃| 精品亚洲乱码少妇综合久久| 国产欧美日韩综合在线一区二区| 色婷婷久久久亚洲欧美| 亚洲,欧美,日韩| 亚洲国产欧美在线一区| 中文字幕制服av| 这个男人来自地球电影免费观看 | 精品熟女少妇av免费看| 国产成人av激情在线播放| 国产精品久久久av美女十八| 精品久久久久久电影网| 国产精品一二三区在线看| 日本-黄色视频高清免费观看| 国精品久久久久久国模美| 国产精品人妻久久久久久| 中国三级夫妇交换| 亚洲国产成人一精品久久久| 国产黄频视频在线观看| 国产精品一区www在线观看| 香蕉丝袜av| 热re99久久国产66热| 亚洲精品美女久久久久99蜜臀 | 男人爽女人下面视频在线观看| 久久久久久久久久久久大奶| 亚洲av综合色区一区| 少妇人妻 视频| 国产高清三级在线| 91久久精品国产一区二区三区| 欧美激情国产日韩精品一区| av国产久精品久网站免费入址| 日本黄大片高清| 免费黄色在线免费观看| 国产 一区精品| 纯流量卡能插随身wifi吗| 日日撸夜夜添| 午夜视频国产福利| 视频中文字幕在线观看| 黑丝袜美女国产一区| 国产老妇伦熟女老妇高清| 18在线观看网站| 中文字幕亚洲精品专区| 91精品国产国语对白视频| 亚洲国产日韩一区二区| 又黄又粗又硬又大视频| 亚洲精品视频女| 如何舔出高潮| 各种免费的搞黄视频| 成人午夜精彩视频在线观看| 亚洲 欧美一区二区三区| 精品国产一区二区三区久久久樱花| 女性被躁到高潮视频| 欧美亚洲 丝袜 人妻 在线| 三上悠亚av全集在线观看| 亚洲一级一片aⅴ在线观看| 日韩欧美一区视频在线观看| 99热网站在线观看| 免费看av在线观看网站| 成人手机av| 在线观看www视频免费| 这个男人来自地球电影免费观看 | 日本色播在线视频| a级毛色黄片| 久久免费观看电影| 国产精品熟女久久久久浪| 少妇高潮的动态图| 校园人妻丝袜中文字幕| 尾随美女入室| 黑人猛操日本美女一级片| 精品人妻一区二区三区麻豆| 成人国产麻豆网| 在线亚洲精品国产二区图片欧美| 亚洲精品久久久久久婷婷小说| 国产 精品1| 满18在线观看网站| 大香蕉97超碰在线| 九九在线视频观看精品| 黄色毛片三级朝国网站| 久久精品国产亚洲av涩爱| 黑人欧美特级aaaaaa片| 18+在线观看网站| 日韩中文字幕视频在线看片| av在线老鸭窝| 桃花免费在线播放| 如何舔出高潮| 国产熟女午夜一区二区三区| 麻豆乱淫一区二区| 交换朋友夫妻互换小说| 亚洲国产色片| 观看av在线不卡| 又黄又爽又刺激的免费视频.| 国产高清国产精品国产三级| 国产精品一区二区在线观看99| 下体分泌物呈黄色| 99香蕉大伊视频| 亚洲第一av免费看| 日韩成人av中文字幕在线观看| 香蕉丝袜av| 黄网站色视频无遮挡免费观看| 精品久久久久久电影网| 热99久久久久精品小说推荐| 精品少妇内射三级| 男女边摸边吃奶| 纯流量卡能插随身wifi吗| 国产成人精品婷婷| 在线天堂中文资源库| av不卡在线播放| 91aial.com中文字幕在线观看| 新久久久久国产一级毛片| 狂野欧美激情性xxxx在线观看| 国产精品一区二区在线观看99| 欧美精品亚洲一区二区| 亚洲欧洲国产日韩| 少妇被粗大的猛进出69影院 | 色5月婷婷丁香| 午夜老司机福利剧场| 国产极品天堂在线| 精品亚洲成国产av| 色哟哟·www| 免费大片黄手机在线观看| 国产片特级美女逼逼视频| 欧美精品一区二区免费开放| 亚洲欧美色中文字幕在线| 综合色丁香网| 久久99一区二区三区| 丝袜在线中文字幕| 少妇的逼好多水| 岛国毛片在线播放| 国产成人aa在线观看| 亚洲精品乱码久久久久久按摩| 亚洲图色成人| 国产精品一区二区在线不卡| 国产av精品麻豆| 韩国高清视频一区二区三区| 99久久中文字幕三级久久日本| 久久av网站| 中文字幕精品免费在线观看视频 | 国产日韩欧美亚洲二区| 两个人看的免费小视频| 熟女电影av网| 性色av一级| 亚洲国产欧美在线一区| 看免费成人av毛片| 国产 精品1| 精品一区二区三区四区五区乱码 | 国产精品国产三级国产av玫瑰| 人人妻人人爽人人添夜夜欢视频| 日本欧美国产在线视频| 中文字幕人妻熟女乱码| 成人午夜精彩视频在线观看| 欧美日韩国产mv在线观看视频| 亚洲精品,欧美精品| 久久久久久久亚洲中文字幕| 校园人妻丝袜中文字幕| 成人毛片a级毛片在线播放| 自线自在国产av| 亚洲欧洲精品一区二区精品久久久 | 亚洲av免费高清在线观看| 婷婷色综合大香蕉| 两个人免费观看高清视频| videossex国产| 欧美精品一区二区免费开放| 精品国产一区二区三区四区第35| 黄色毛片三级朝国网站| 亚洲av国产av综合av卡| 久久久国产欧美日韩av| 亚洲 欧美一区二区三区| 日韩一本色道免费dvd| 极品少妇高潮喷水抽搐| 黄色怎么调成土黄色| 最近最新中文字幕大全免费视频 | 色哟哟·www| 久久国产精品大桥未久av| 国产69精品久久久久777片| 中文精品一卡2卡3卡4更新| 性高湖久久久久久久久免费观看| 侵犯人妻中文字幕一二三四区| 亚洲一级一片aⅴ在线观看| 欧美日本中文国产一区发布| a 毛片基地| 日日撸夜夜添| 亚洲精品美女久久av网站| 亚洲人与动物交配视频| 七月丁香在线播放| 免费看光身美女| 一二三四在线观看免费中文在 | 18禁观看日本| 久久影院123| 国产女主播在线喷水免费视频网站| av线在线观看网站| 视频中文字幕在线观看| 一级片免费观看大全| 97在线人人人人妻| 免费观看性生交大片5| 日韩av不卡免费在线播放| 国产亚洲精品第一综合不卡 | 最近最新中文字幕大全免费视频 | 伦理电影免费视频| 免费女性裸体啪啪无遮挡网站| 午夜精品国产一区二区电影| 男女国产视频网站| 寂寞人妻少妇视频99o| 久久精品国产亚洲av天美| 综合色丁香网| 亚洲激情五月婷婷啪啪|