matlab guide对话框+滑动条+弹出式菜单+列表框的使用
文章目錄
- 前言
- matlab數據傳遞概觀
- 對話框創建
- 利用滑動條實現顏色調控
- 利用彈出式菜單選擇并輸入文本框
- 利用列表框選擇并輸入文本框
前言
我覺得gui無非就是給程序加了件衣服,其實具體的程序我們都會寫,我們唯一不明白的是那幾個部分數據之間的傳遞,以及怎么獲取數據處理數據。
matlab數據傳遞概觀
在GUI的各個控件之間進行數據傳遞,可以采用以下兩種方法,利用結構體handles和控件的UserData屬性。
結構體handles保存了GUI的數據。當在運行GUI時,M文件會自動產生結構體handles,其中保存了所有GUI對象的數據,可以看作是一個數據的容器。用戶可在handles中找到所有控件的信息。handles在各各控件的callback之間傳來傳去。
通過在結構體handles中新建字段并放置數據,可以實現數據在各個控件之間共享
handles.a=a; guidata (hobject, handles); %更新在結構體handles中新建字段a,并保存變量a的值然后利用函數guidata()更新handles中的數據。則在任何需要獲取該變量值的地方,可以使用如下語句:
a=handles.a;還可以采用控件的UserData屬性來保存數據。每個GUI對象都有UserData屬性,可以用來存儲任何類型的數據。用戶可以通過函數get()獲取數據,通過函數set()設置數據。除此之外,還可以將變量用global設置為全局變量,從而實現數據的共享。
對話框創建
打開GUIDE,新建一個button,然后運行找回調函數,添加如下代碼
function pushbutton1_Callback(hObject, eventdata, handles) choice=questdlg('你要關閉嗎?','關閉對話框','Yes','No','No')%問題對話框,默認為No switch choice,case 'Yes'delete(handles.figure1);%關閉窗口return;case 'No'return; end利用滑動條實現顏色調控
SliderStep 為[0.01 0.1] :一個是小步長,是點擊slider兩端的箭頭移動的步長;一個是大步長,是點擊slider時移動的步長
function slider1_Callback(hObject, eventdata, handles) val=get(hObject,'value');%通過get獲取滑動條的當前值 set(handles.text1,'BackgroundColor',[val val val]);效果:
利用彈出式菜單選擇并輸入文本框
function popupmenu1_Callback(hObject, eventdata, handles) val=get(hObject,'value');%獲取數值,從上到下依次1到4 str=get(hObject,'String');%獲取字符串,這里是菜單所有的字符串,相當于存到了字符串數組里 switch valcase 1set(handles.edit1,'String','');%輸入到可編輯文本里case 2set(handles.edit1,'String',str{2});case 3set(handles.edit1,'String',str{3});case 4set(handles.edit1,'String',str{4}); end效果:
利用列表框選擇并輸入文本框
function listbox1_Callback(hObject, eventdata, handles) sel=get(gcf,'selectiontype'); if strcmp(sel,'open')%如果雙擊鼠標str=get(hObject,'String');%獲取字符串n=get(hObject,'value');%獲取數值set(handles.edit1,'string',str{n});%在靜態文本中顯示 end;效果:
總結
以上是生活随笔為你收集整理的matlab guide对话框+滑动条+弹出式菜单+列表框的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python函数之作用域
- 下一篇: (回文串全排列个数) xiaoxin j