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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab GUI 设计(3):edit、slider、table数据同步

發(fā)布時間:2025/6/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab GUI 设计(3):edit、slider、table数据同步 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在GUI 的設(shè)計中,數(shù)據(jù)的直接輸入有兩種方式:edit 和 slider,他們之間經(jīng)常需要同步,即表示同一個變量的 string值或者value值,當(dāng)edit改變時,slider 跟著改變;同樣當(dāng)slider改變時,edit 也隨著改變,并實時顯示在 table 中。

1、根據(jù)GUIDE 建立GUI。打開GUI,在空白區(qū)域放置三個 uicontrol :slider、edit、table,如圖所示。為了編輯的方便,把他們放在一個 panel 上。
三個控件的tag 分別是:slider1、edit1、UItable1;其中slider 的 屬性中,Max:100,Min:-100;edit 的 string 值設(shè)為:num;
table 的data 中,設(shè)置 行、列的顯示名。

2、編輯 M 文件。打開對應(yīng)的M文件,可以看到系統(tǒng)自動生成了四個函數(shù)框架:slider1_Callbackslider1_CreateFcn、edit1_Callback、edit1_CreateFcn ,在 slider1_Callback 中添加代碼

global a;set(handles.edit1,'string',num2str(get(hObject,'value')));a=str2num(get(handles.edit1,'string'));set(handles.uitable1,'data',[a,2*a]);

edit1_Callback中添加代碼:

global a; set(handles.slider1,'value',str2num(get(hObject,'string'))); a=str2num(get(handles.edit1,'string')); set(handles.uitable1,'data',[a,2*a]);

利用函數(shù) get 來取得句柄中的數(shù)據(jù)值,利用 set 倆改變句柄中數(shù)據(jù)的值,并利用global 在不同的控件中共享數(shù)據(jù)。

完整的回調(diào)函數(shù)如下:

function slider1_Callback(hObject, eventdata, handles)global a;set(handles.edit1,'string',num2str(get(hObject,'value')));a=str2num(get(handles.edit1,'string'));set(handles.uitable1,'data',[a,2*a]);function slider1_CreateFcn(hObject, eventdata, handles)% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor',[.9 .9 .9]); endfunction edit1_Callback(hObject, eventdata, handles)global a; set(handles.slider1,'value',str2num(get(hObject,'string'))); a=str2num(get(handles.edit1,'string')); set(handles.uitable1,'data',[a,2*a]);function edit1_CreateFcn(hObject, eventdata, handles)% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end

程序運行的結(jié)果如下:

總結(jié)

以上是生活随笔為你收集整理的Matlab GUI 设计(3):edit、slider、table数据同步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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