[問題]GUI 抓edit 中之文字

看板MATLAB作者 (arlibuda)時間10年前 (2014/12/16 13:46), 編輯推噓1(1019)
留言20則, 4人參與, 最新討論串1/1
如題,小弟目前 GUI 畫面中有數個 edit,例如:edit1~edit10 但是我需要根據某個 n 值,來抓 edit 中之文字,例如: n=5,抓 edit1~edit5 中的文字。 n=8,抓 edit1~edit8 中的文字。 目前我的 code 是這麼寫的: for aa = 1 : NUMBER KK( aa ) = get( eval(['handles.edit', num2str(aa+11)]) , 'string' ) ; end 會這麼寫是因為這種寫法對於 popupmenu 抓取數值是有效果的,但現在要抓取文字 卻沒有辦法了,不知道是否需要用到其他 code 來完成? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.22.18.24 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1418708762.A.0B2.html

12/16 16:42, , 1F
先令KK=cell(1); 在去接值
12/16 16:42, 1F

12/16 18:02, , 2F
你幹嘛用 edit1~10 來放handle?
12/16 18:02, 2F

12/16 18:03, , 3F
缺點一 workspace雜亂
12/16 18:03, 3F

12/16 18:03, , 4F
缺點二 變數太多易搞混
12/16 18:03, 4F

12/16 18:04, , 5F
因為我想要將來在 edit 中輸入文字,之後透過 GUI 截取
12/16 18:04, 5F

12/16 18:04, , 6F
文字作動作
12/16 18:04, 6F

12/16 18:04, , 7F
缺點三 造成你現再要拿值必須用eval
12/16 18:04, 7F

12/16 18:05, , 8F
那是否有更好的方法呢@@?
12/16 18:05, 8F

12/16 18:05, , 9F
直接用一個變數較 hEdit = zeros(1, 10);
12/16 18:05, 9F

12/16 18:05, , 10F
依序把handle放進去
12/16 18:05, 10F

12/16 18:06, , 11F
這樣變數只會有一個,而且不用eval,
12/16 18:06, 11F

12/16 18:06, , 12F
get(hEdit(1:5), 'String') 就可一次拿5個
12/16 18:06, 12F

12/16 18:08, , 13F
可是現在問題是如何把 handle 放進去呢?
12/16 18:08, 13F

12/16 18:10, , 14F
那你當初是怎麼得到edit1~10的???y
12/16 18:10, 14F

12/16 18:18, , 15F
有點不懂你意思@@,今天我要的就是有一個 edit,我希望
12/16 18:18, 15F

12/16 18:18, , 16F
用變數的方式得到其中的文字
12/16 18:18, 16F

12/16 18:29, , 17F
"小弟目前 GUI 畫面中有數個 edit,例如:edit1~edit"
12/16 18:29, 17F

12/16 18:30, , 18F
你的第一句話
12/16 18:30, 18F

12/16 19:09, , 19F
是阿,就是畫面中有數個edit,現在要抓當中的文字
12/16 19:09, 19F

12/17 09:54, , 20F
用eval是很不好的習慣 不好debug, 效能也低
12/17 09:54, 20F
文章代碼(AID): #1KZySQ2o (MATLAB)
文章代碼(AID): #1KZySQ2o (MATLAB)