看板 MATLAB 關於我們 聯絡資訊
我想做一個gui 不用guide的方式產生介面而使用uicontrol產生 我把我想做的問題簡化成 做一個AddPush按鈕在gui上 每按一次AddText上面的數字就會+1 並且利用function的方式來寫callback 且所有的function全部都寫在同一個*.m檔案當中 我想知道有沒有除了global變數之外的方法 或者有沒有解說用guide產生gui後自動產生了一堆程式碼的導讀文章 裡面一些東西自己讀help看不太懂 ex hObject eventdata guidata gui_mainfc 等等 我自己試寫的code 可是不work function Main % 主程式 版面建置 clear all close all clc FigMain=figure ; figure(FigMain) ; x=3 ; AddPush=uicontrol('style','push','string','Add',... 'pos',[100 100 100 30],... 'callback',@Add,'userdata',x) ; ^ 假設AddPush和AddText程式順序不可換 無法在此行把AddText丟入function Add當中 AddText=uicontrol('style','text','string',num2str(x),... 'pos',[200 100 100 30]) ; function Add(varargin) % 副程式 加1 ^^^^^^^^ 為什麼一定要加這個東西才不會出現錯誤 x = get(gcbo,'userdata') ; x=x+1 ; set(AddText,'string',num2str(x)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 無法讀到function Main裡面的東西 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.103.220 ※ 編輯: diva 來自: 140.112.103.220 (12/18 17:23)
s123123sam:我直接複製貼上 加入兩個end 就可執行 抓的到x 12/18 20:13
s123123sam:還有必須把新的x丟回Addpush的userdata 每次按才+1 12/18 20:14
s123123sam:有關資料傳遞 目前習慣用setappdata與getappdata 12/18 20:16
s123123sam:藏在某個元件 互相抓取 12/18 20:17
webbber:水喔 12/19 13:09
diva:謝謝 來去試試 12/19 19:29