找回密码
 注册
Simdroid-非首页
查看: 142|回复: 6

一个简单的GUI

[复制链接]
发表于 2010-11-21 23:36:35 | 显示全部楼层 |阅读模式 来自 浙江杭州
本帖最后由 hylovegj 于 2010-11-21 23:39 编辑

GUI新手用编程的方法写的GUI。和初学GUI的朋友分享一下。下面是源代码:
  1. function division
  2. % DIVISION函数创建一个包含3个静态文本框、3个编辑文本框和1个按钮的的GUI。前两个
  3. % 编辑文本框用于输入被除数和除数,第三个编辑文本框显示计算结果。如果输入的除数
  4. % 为零,弹出出错对话框。

  5. fh = figure('menubar','none','toolbar','none','Name','My First GUI',...
  6. 'NumberTitle','off','Position',[200 100 400 300]);
  7. % 创建一个图形窗口
  8. sth1 = uicontrol(fh,'Style','text','String','被除数:','Position',...
  9. [50 215 100 40],'HorizontalAlignment','left',...
  10. 'FontUnits','pixels','FontSize',20);
  11. sth2 = uicontrol(fh,'Style','text','String','除数:','Position',...
  12. [50 130 100 40],'HorizontalAlignment','left',...
  13. 'FontUnits','pixels','FontSize',20);
  14. sth3 = uicontrol(fh,'Style','text','String','商:','Position',...
  15. [50 45 100 40],'HorizontalAlignment','left',...
  16. 'FontUnits','pixels','FontSize',20);
  17. % 创建3个静态文本框作为编辑文本框的标签
  18. eth1 = uicontrol(fh,'Style','edit','String',' ','Position',...
  19. [250 215 100 40],'HorizontalAlignment','left',...
  20. 'FontUnits','pixels','FontSize',20);
  21. eth2 = uicontrol(fh,'Style','edit','String',' ','Position',...
  22. [250 130 100 40],'HorizontalAlignment','left',...
  23. 'FontUnits','pixels','FontSize',20);
  24. eth3 = uicontrol(fh,'Style','edit','String',' ','Position',...
  25. [250 45 100 40],'HorizontalAlignment','left',...
  26. 'FontUnits','pixels','FontSize',20);
  27. % 创建3个编辑文本框用于输入被除数、除数和显示计算结果
  28. bh = uicontrol(fh,'Style','pushbutton','String','计算','Position',...
  29. [175 20 50 50],'Callback',{@pushbutton_Callback},...
  30. 'FontUnits','pixels','FontSize',20);
  31. % 创建一个按钮,单击按钮执则行运算并显示结果
  32. function pushbutton_Callback(hobject,eventdata)
  33. if str2num(get(eth2,'String'))==0
  34. h = errordlg({'除数不能为零!';'请输入一个非零的数作为除数。'},...
  35. '出错啦!','non-modal');
  36. else
  37. result = str2num(get(eth1,'String'))/str2num(get(eth2,'String'));
  38. str = num2str(result);
  39. set(eth3,'String',str);
  40. end
  41. end
  42. end
  43. % 按钮的回调函数
复制代码

评分

1

查看全部评分

发表于 2010-11-22 08:54:06 | 显示全部楼层 来自 河北廊坊
Simdroid开发平台
不错,用nested function,来传递参数
回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-22 15:36:34 | 显示全部楼层 来自 浙江杭州
本帖最后由 hylovegj 于 2010-11-22 15:38 编辑

呵呵!谢谢版主大人加分!感觉写得很菜,大家多提意见哈!不知道怎么传截图,不然传个运行效果的截图上来。
回复 不支持

使用道具 举报

发表于 2010-11-22 16:51:40 | 显示全部楼层 来自 山东烟台
可以加上对非法输入的限制,比如不能输入字母。可以在edit的callback中写,非法输入字体变成红色,不必等到按下按钮再判断

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-24 11:12:36 | 显示全部楼层 来自 浙江杭州
原始的界面。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-24 11:13:21 | 显示全部楼层 来自 浙江杭州
正常运行的情况。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-24 11:13:52 | 显示全部楼层 来自 浙江杭州
出错时的界面!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-5 09:28 , Processed in 0.052593 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表