作者chenmish (arlibuda)
看板MATLAB
标题[问题]GUI 抓edit 中之文字
时间Tue Dec 16 13:45:59 2014
如题,小弟目前 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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1418708762.A.0B2.html
1F:推 winnie4952: 先令KK=cell(1); 在去接值 12/16 16:42
2F:→ mp19990920: 你干嘛用 edit1~10 来放handle? 12/16 18:02
3F:→ mp19990920: 缺点一 workspace杂乱 12/16 18:03
4F:→ mp19990920: 缺点二 变数太多易搞混 12/16 18:03
5F:→ chenmish: 因为我想要将来在 edit 中输入文字,之後透过 GUI 截取 12/16 18:04
6F:→ chenmish: 文字作动作 12/16 18:04
7F:→ mp19990920: 缺点三 造成你现再要拿值必须用eval 12/16 18:04
8F:→ chenmish: 那是否有更好的方法呢@@? 12/16 18:05
9F:→ mp19990920: 直接用一个变数较 hEdit = zeros(1, 10); 12/16 18:05
10F:→ mp19990920: 依序把handle放进去 12/16 18:05
11F:→ mp19990920: 这样变数只会有一个,而且不用eval, 12/16 18:06
12F:→ mp19990920: get(hEdit(1:5), 'String') 就可一次拿5个 12/16 18:06
13F:→ chenmish: 可是现在问题是如何把 handle 放进去呢? 12/16 18:08
14F:→ mp19990920: 那你当初是怎麽得到edit1~10的???y 12/16 18:10
15F:→ chenmish: 有点不懂你意思@@,今天我要的就是有一个 edit,我希望 12/16 18:18
16F:→ chenmish: 用变数的方式得到其中的文字 12/16 18:18
17F:→ mp19990920: "小弟目前 GUI 画面中有数个 edit,例如:edit1~edit" 12/16 18:29
18F:→ mp19990920: 你的第一句话 12/16 18:30
19F:→ chenmish: 是阿,就是画面中有数个edit,现在要抓当中的文字 12/16 19:09
20F:→ jatj: 用eval是很不好的习惯 不好debug, 效能也低 12/17 09:54