日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab table中的文字转string_MATLAB_GUI_教程(2)pushbutton

發(fā)布時間:2025/3/11 循环神经网络 78 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab table中的文字转string_MATLAB_GUI_教程(2)pushbutton 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

前言上期教程按鈕介紹按鈕(pushbutton)如何在窗口中創(chuàng)建一個按鈕常用屬性常用屬性練習回調(diào)函數(shù)的編寫規(guī)則設置回調(diào)函數(shù):定義(編寫)回調(diào)函數(shù):NoteGUI中各個回調(diào)函數(shù)之間數(shù)據(jù)的傳遞setappdatagetappdata方法按鈕的回調(diào)函數(shù)

前言

上期教程

按鈕介紹

這個按鈕是GUI界面中用的最多的一個控件了,上期教程中的GUI界面中的元素一圖中列出了10個UI控件,按鈕(pushbutton)就是其中的第一個。這些UI控件的基本屬性都一樣,所以本期講完了按鈕的常用的屬性后,后面那些按鈕的屬性就不詳細展開講了。

這個按鈕和開關不一樣,對于按鈕你點一下后就會彈回原來的狀態(tài)。如果是開關的話,你按一下,他會一直保持你按下之后的狀態(tài),直到你再次按下開關后才會變回原來的狀態(tài),這個開關對應的UI控件是togglebutton(切換按鈕)。

按鈕(pushbutton)

如何在窗口中創(chuàng)建一個按鈕

function?main()

close?all
%%?創(chuàng)建主窗口,?打三個點可以換行書寫,一行寫多了不太好
h_fig?=?figure('Name',?'MATLAB_GUI_教程(2)pushbutton',?...
????'MenuBar',?'none',?...
????'ToolBar',?'none');

%%?創(chuàng)建一個按鈕
btn?=?uicontrol('Style',?'pushbutton',?'Parent',?h_fig);

end

如你所見,這里是用uicontrol函數(shù)來創(chuàng)建按鈕的。uicontrol函數(shù)就是用來創(chuàng)建UI控件的,該函數(shù)返回創(chuàng)建出來的控件的句柄。

  • UI控件的Style屬性是用來控制UI控件的類型

  • UI控件的Parent屬性是用來控制該控件放在哪里(此處是直接放在主窗口中)

還記得上篇教程中說的用下面這種方式來設置控件的屬性么:

btn?=?uicontrol('屬性1',?'值1',?'屬性2',?'值2',?'屬性3',?'值3');

我們在創(chuàng)建UI控件時比較習慣用這種方式來創(chuàng)建,當然你也可以像下面這樣來創(chuàng)建,不過我看著比較別扭:

%%?創(chuàng)建一個按鈕
btn?=?uicontrol;
btn.Parent?=?h_fig;
btn.Style?=?'pushbutton';

上面那個創(chuàng)建的結果如下:

圖1

常用屬性

這里常用屬性這里不包括按鈕的那些回調(diào)函數(shù),回調(diào)函數(shù)那些單獨說。

上面已經(jīng)認識了按鈕的兩個屬性了,其實我覺得不應該說是按鈕的屬性,應該說是UI控件的屬性,因為這個按鈕只是當UI控件的Style屬性為'pushbutton'時的情況。

和figure一樣,按鈕也有很多屬性,我們不可能把他們都記住,頂多記幾個常用的就行了。我以前初學時連常用的都時常記不住,那怎么辦呢,怎么知道它有那些屬性呢,以及怎么知道相應的屬性應該設置哪些值呢。其實這些在上期推送中就已經(jīng)講過了:

  • 直接在matlab命令行中輸入下面一行代碼,注意不要打分號,這樣可以輸出有哪些屬性:

  • btn?=?uicontrol

    結果如下:

    圖2

    實際上它給我們顯示出來的這些就是常用的屬性,不過下面我會多添加幾個:

    • Style:控制UI控件的類型,默認為'pushbutton',在創(chuàng)建按鈕時可以不下,但最好還是在創(chuàng)建時寫上它。

    • Parent:控制UI控件的父容器,通俗的說就是告訴UI控件該放在誰上面(直接的關系),目前還沒講布局,就只能直接放在figure上,當講了布局后,這些控件都放在布局里面。雖然布局還是直接或者間接地放在figure中。為了說明按鈕放在哪里,所以這個Parent屬性必須寫(雖然有時不寫也行)。

    • String:顯示在按鈕(UI控件)上的字符串。

    • Tag:按鈕(UI控件)的ID,就跟我們的身份證一樣。這個在GUIDE中用的多,在GUIDE中通過handles.tag可以獲取相應的控件,在純代碼編寫GUI時多用于fandobj函數(shù)。這個就不細講了,知道存在這么個東西就好。

    • BackgroundColor:設置按鈕的背景色,可以是表示顏色的字母如:'k', 'r', 'g', 'b'等,也可以是1*3的向量,每個元素在0-1之間代表r,g,b的值。

    • ForegroundColor:按鈕上的字符串(String)的顏色

    • FontSize:按鈕上的字符(String)的大小

    • FontName:按鈕上的字符(String)的字體

    • Visible:控制該按鈕是否可見,默認是可見的

    • Units:控制按鈕的Position的值的單位,常用像素為單位:'pixels',如果要設置單位,那么單位一定要在Position之前設置。

    • Position:控制按鈕在窗口中的位置。以電腦屏幕為坐標平面的話,那么電腦屏幕的左下角點就是原點,position的值為:[x, y, w, h]:

    圖3

    實際上通常,也就用:Style, Parent, String, Units, Position, 以及后面講的callback。如果在熟悉了 布局 之后,連Units和Position都用不上。

  • 獲取屬性可以設置哪些屬性值的方法還是和上期推送一樣。不過在UI控件這,好多屬性你這樣無法獲取某屬性可以設置哪些值,此時就要去幫助文檔中看看了:

  • 圖4

    常用屬性練習

    在一個窗口中放一個寬400,高100的按鈕,按鈕上的文字為:I'm Mith Hong。文字的顏色為紅色,文字的大小為18,按鈕的背景色為黑色。

    function?main()

    close?all
    %%?創(chuàng)建主窗口
    h_fig?=?figure('Name',?'MATLAB_GUI_教程(2)pushbutton',?...
    ????'MenuBar',?'none',?...
    ????'ToolBar',?'none');

    %%?創(chuàng)建一個按鈕
    btn?=?uicontrol('Style',?'pushbutton',?...
    ????'Parent',?h_fig,?...
    ????'String',?'I''m?Mitch?Hong',?...
    ????'FontSize',?18,?...
    ????'ForegroundColor',?'r',?...
    ????'BackgroundColor',?'k',?...
    ????'Units',?'pixels',?...
    ????'Position',?[50?50?400?100]);

    end

    結果如下:

    圖5

    回調(diào)函數(shù)的編寫規(guī)則

    設置回調(diào)函數(shù):

    uicontrol('Callback',{@btn_callback,input1,input2,…})

    其中回調(diào)函數(shù)名為btn_callback,@btn_callback表示獲取該回調(diào)函數(shù)的句柄;input1,input2,….為向callback中傳入實際參數(shù);把他們用大括號括起來構成一個細胞數(shù)組作為Callback的屬性值。

    回調(diào)函數(shù)的名字可以任意取,但是要有意義。

    定義(編寫)回調(diào)函數(shù):

    function?btn_callback(obj,eventdata,input1,input2)

    其中obj與eventdata必須要有而且順序不能顛倒,如果函數(shù)體內(nèi)用不上可以把這兩個位置用 ~ 來替換掉,從第三個位置開始按順序接受需要的輸入。

    obj表示當前你所點擊的那個UI控件的句柄,event是一個事件,通常在uitable那用的多,這里先不解釋。

    不要問為什么,這是規(guī)則,記就完事了。

    Note

    好像在16版開始,才能在同一個m文件中寫多個函數(shù),如果是14版的,需要把回調(diào)函數(shù)單獨寫成一個文件!

    GUI中各個回調(diào)函數(shù)之間數(shù)據(jù)的傳遞

    setappdata

    利用setappdata把數(shù)據(jù)保存到figure的appdata中:

    setappdata(h_fig,?'myData1',?data1)

    其中data1是我們的數(shù)據(jù),這樣就能把data1保存到figure的appdata中的myData1里面了。

    getappdata

    利用getappdata從figure的appdata中獲取數(shù)據(jù):

    data1?=?getappdata(h_fig,?'myData1');

    方法

    因此我們只需要向各個回調(diào)函數(shù)中傳遞主窗口的句柄即可,這樣就能在不同的回調(diào)函數(shù)中傳遞數(shù)據(jù)了。

    另外,一般我比較習慣把數(shù)據(jù)變量的名字和appdata中的名字寫成相同的,即:

    setappdata(h_fig,?'data1',?data1)
    data1?=?getappdata(h_fig,?'data1');

    如果不太明白的話,看看下面的例子就明白了。

    按鈕的回調(diào)函數(shù)

    這個在上面的回調(diào)函數(shù)的編寫規(guī)則中已經(jīng)講了,這里就直接來個例子了。

    例:在一個窗口中創(chuàng)建4個按鈕,在上面標號為1,2,3,4,

    • 點擊按鈕1時,隱藏按鈕2,顯示按鈕3

    • 點擊按鈕3時,隱藏按鈕1,顯示按鈕2

    • 點擊按鈕2時,顯示按鈕1,隱藏按鈕3

    • 點擊按鈕4時,都顯示

    function?main()

    close?all
    %%?創(chuàng)建主窗口
    h_fig?=?figure('Name',?'MATLAB_GUI_教程(2)pushbutton',?...
    ????'MenuBar',?'none',?...
    ????'ToolBar',?'none');

    %%?創(chuàng)建按鈕
    btn1?=?uicontrol('Style',?'pushbutton',?...
    ????'Parent',?h_fig,?...
    ????'String',?'1',?...
    ????'Units',?'pixels',?...
    ????'Position',?[50?50?50?50],?...
    ????'Callback',?{@callback_btn1,?h_fig});
    setappdata(h_fig,?'btn1',?btn1);?%?把btn1保存到appdata中以便于在其他回調(diào)函數(shù)中使用

    btn2?=?uicontrol('Style',?'pushbutton',?...
    ????'Parent',?h_fig,?...
    ????'String',?'2',?...
    ????'Units',?'pixels',?...
    ????'Position',?[50?200?50?50],?...
    ????'Callback',?{@callback_btn2,?h_fig});
    setappdata(h_fig,?'btn2',?btn2);?%?把btn2保存到appdata中以便于在其他回調(diào)函數(shù)中使用

    btn3?=?uicontrol('Style',?'pushbutton',?...
    ????'Parent',?h_fig,?...
    ????'String',?'3',?...
    ????'Units',?'pixels',?...
    ????'Position',?[200?200?50?50],?...
    ????'Callback',?{@callback_btn3,?h_fig});
    setappdata(h_fig,?'btn3',?btn3);?%?把btn3保存到appdata中以便于在其他回調(diào)函數(shù)中使用

    btn4?=?uicontrol('Style',?'pushbutton',?...
    ????'Parent',?h_fig,?...
    ????'String',?'4',?...
    ????'Units',?'pixels',?...
    ????'Position',?[100?300?50?50],?...
    ????'Callback',?{@callback_btn4,?h_fig});
    setappdata(h_fig,?'btn4',?btn4);?%?把btn4保存到appdata中以便于在其他回調(diào)函數(shù)中使用

    end


    %%?按鈕1的回調(diào)函數(shù),obj和event我都用不上,所以用~代替
    function?callback_btn1(~,?~,?h_fig)

    %?獲取2?3?按鈕
    btn2?=?getappdata(h_fig,?'btn2');
    btn3?=?getappdata(h_fig,?'btn3');

    %?點擊按鈕1時,隱藏按鈕2,顯示按鈕3
    btn2.Visible?=?'off';
    btn3.Visible?=?'on';

    end

    %%?按鈕2的回調(diào)函數(shù),obj和event我都用不上,所以用~代替
    function?callback_btn2(~,?~,?h_fig)

    %?獲取1?3?按鈕
    btn1?=?getappdata(h_fig,?'btn1');
    btn3?=?getappdata(h_fig,?'btn3');

    %?點擊按鈕2時,顯示按鈕1,隱藏按鈕3
    btn1.Visible?=?'on';
    btn3.Visible?=?'off';

    end

    %%?按鈕3的回調(diào)函數(shù),obj和event我都用不上,所以用~代替
    function?callback_btn3(~,?~,?h_fig)

    %?獲取2?1?按鈕
    btn2?=?getappdata(h_fig,?'btn2');
    btn1?=?getappdata(h_fig,?'btn1');

    %?點擊按鈕3時,隱藏按鈕1,顯示按鈕2
    btn2.Visible?=?'on';
    btn1.Visible?=?'off';

    end

    %%?按鈕4的回調(diào)函數(shù),obj和event我都用不上,所以用~代替
    function?callback_btn4(~,?~,?h_fig)

    %?獲取1?2?3?按鈕
    btn1?=?getappdata(h_fig,?'btn1');
    btn2?=?getappdata(h_fig,?'btn2');
    btn3?=?getappdata(h_fig,?'btn3');

    %?點擊按鈕4時,都顯示
    btn1.Visible?=?'on';
    btn2.Visible?=?'on';
    btn3.Visible?=?'on';

    end

    結果如下:

    finall

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結

    以上是生活随笔為你收集整理的matlab table中的文字转string_MATLAB_GUI_教程(2)pushbutton的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 少女与动物高清版在线观看 | 一区二区三区免费视频观看 | jizz成熟丰满日本少妇 | 波多野结衣视频在线观看 | 欧洲美一区二区三区亚洲 | 国产精品电影在线观看 | 成人3d动漫一区二区三区91 | 95看片淫黄大片一级 | 一区二区三区在线视频免费观看 | 污视频网址在线观看 | 日日射天天射 | 午夜色图 | 黄色免费av网站 | 91成人在线视频 | 中文字幕在线成人 | 日本亲子乱子伦xxxx50路 | 欧美大胆a视频 | 欧美激情爱爱 | 91喷水视频 | 闺蜜张开腿让我爽了一夜 | 国产图区 | 午夜剧场在线 | 国产a不卡 | 日韩欧美精品久久 | 国产精彩视频一区二区 | 精品一区二区在线播放 | 美女在线国产 | 国产成人精品一区二区三区福利 | 国产高清小视频 | 在线成人黄色 | 影视先锋av资源 | 人妻内射一区二区在线视频 | 国产三级免费观看 | 毛片毛多水多 | 女人天堂网 | 亚洲av无码精品色午夜 | 国产一级视频在线播放 | 亚洲天堂日本 | 国产又大又黑又粗免费视频 | 亚洲色图.com | 中文字幕无码av波多野吉衣 | 一级黄色短视频 | 成人91| 女教师三上悠亚ssni-152 | 日本一级一片免费视频 | 天天鲁一鲁摸一摸爽一爽 | 久久精品高清视频 | 一本色道久久综合亚洲精品图片 | 西西午夜影院 | 久久888 | 在线视频一区二区三区 | 国产尤物在线视频 | 美女啪啪无遮挡 | av动漫天堂 | 91久久爽久久爽爽久久片 | 三级色网 | 天堂在线观看中文字幕 | 久操资源网 | av青草| 素人av在线 | 二区视频在线 | 九九五月天 | 第一章激情艳妇 | 久久福利一区 | 麻豆91在线播放 | 午夜性色福利影院 | 午夜一级免费 | 一级片在线免费播放 | 美女写真福利视频 | 五月天综合 | 国产三级免费观看 | 国产一区二区综合 | 日韩 欧美 国产 综合 | 波多野吉衣伦理片 | 日韩大片免费观看 | 99久久久无码国产精品不卡 | 午夜精品网站 | 在线资源av| 日本免费一区二区三区四区 | 性欧美高清 | 波多野结衣一区二区三区高清av | 欧美精品色婷婷五月综合 | 欧美综合激情网 | 中文在线亚洲 | 日韩成人av网 | 夜色网| 成人黄色免费 | 青草福利视频 | 免费一级特黄毛大片 | 可以免费看污视频的网站 | 中文字幕成人 | 日日操天天射 | jizz91 | 毛片一区二区三区 | 亚洲天堂资源在线 | 夫妻黄色片 | 爱爱视频在线免费观看 | 欧美在线免费播放 | 白浆av|