Re: [問題] GUI 讀取edit鍵入值已回收
※ 引述《panzertp (失ゎれた彩畫)》之銘言:
: ※ 引述《music1125 (PENTAX Optio 30)》之銘言:
: : 在前面一開始有先設 handles.a1 = 0;
: : edit的Tag名稱為Ta1:
: : function Ta1_Callback(hObject, eventdata, handles)
: : a1 = get(Ta1_Callback,'Value');
: : handles.a1 = a1;
: : guidata(hObject, handles);
: : 後面有寫一個botton來讀a1的值:
: : function Trun_Callback(hObject, eventdata, handles)
: : a1 = handles.a1;
: : a1
: : 所以當我在Ta1裡面填入0.1並按執行的botton時
: : 應該在下面的Command視窗會看到a1 = 0.1
: : 但是他依然顯示a1 = 0 (原始設定值)
: : 也就是說我沒有讀到鍵入值
: : 想請問一下前輩們
: : 我是哪個步驟有寫錯嗎?
: : 再次謝謝大家的教導
: 我想你誤解了GUI控制項裡面value的用法
: 當你在GUI裡改變edit的"數字"時
: 事實上你改變的是該edit控制項裡的"字串"(String) 並非value
: 因此當你在使用a1 = get(Ta1_Callback,'Value');時 得到的是value的預設值
: 而不是改變後的"字串"
: 因此應該要用的是a1=str2double(get(handles.a1,'String'));
小弟最近在自學matlab語言,於是自己寫了一個小小程式。
後來又想在程式中寫個GUI介面,由於是個大新手,
所以效法版上前人的程式開始摸索。
我想達成在Edit中寫入一個數字,然後按下另外一個PushButton,
就可以輸入 Gn(變數名)=(Edit中的數字)
但是...
我這樣寫卻無法執行。請問板上大大...為啥前人說沒問題的程式,我卻跑不出來= =a
跪求指教...
感謝主
片段程式碼(已成功跑出 edit 以及 PushButton 在畫面上,但輸入edit卻有error)
h2 = uicontrol('Style','Edit','String',...
'Gn','Position',[315,235,70,25]...
,'Callback','h2_Callback');
function h2_Callback(hObject, eventdata, handles)
handles=0
Gn=str2double(get(handles.h2,'String'));
handles.Gn = Gn;
guidata(hObject, handles);
end
h2enter= uicontrol('Style','PushButton','String',...
'Enter','Position',[390,235,50,25]...
,'Callback','h2enter_Callback');
function h2enter_Callback(hObject, eventdata, handles)
Gn = handles.Gn
Gn
end
以上
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.81.173
※ 編輯: harry750265 來自: 58.114.81.173 (06/06 04:30)
→
06/06 20:24, , 1F
06/06 20:24, 1F
→
06/06 22:23, , 2F
06/06 22:23, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):