文章目录

  • 前言
  • matlab数据传递概观
  • 对话框创建
  • 利用滑动条实现颜色调控
  • 利用弹出式菜单选择并输入文本框
  • 利用列表框选择并输入文本框

前言

我觉得gui无非就是给程序加了件衣服,其实具体的程序我们都会写,我们唯一不明白的是那几个部分数据之间的传递,以及怎么获取数据处理数据。

matlab数据传递概观

在GUI的各个控件之间进行数据传递,可以采用以下两种方法,利用结构体handles和控件的UserData属性。

结构体handles保存了GUI的数据。当在运行GUI时,M文件会自动产生结构体handles,其中保存了所有GUI对象的数据,可以看作是一个数据的容器。用户可在handles中找到所有控件的信息。handles在各各控件的callback之间传来传去。

通过在结构体handles中新建字段并放置数据,可以实现数据在各个控件之间共享

handles.a=a;
guidata (hobject, handles);  %更新

在结构体handles中新建字段a,并保存变量a的值然后利用函数guidata()更新handles中的数据。则在任何需要获取该变量值的地方,可以使用如下语句:

a=handles.a;

还可以采用控件的UserData属性来保存数据。每个GUI对象都有UserData属性,可以用来存储任何类型的数据。用户可以通过函数get()获取数据,通过函数set()设置数据。除此之外,还可以将变量用global设置为全局变量,从而实现数据的共享。

对话框创建

打开GUIDE,新建一个button,然后运行找回调函数,添加如下代码

function pushbutton1_Callback(hObject, eventdata, handles)
choice=questdlg('你要关闭吗?','关闭对话框','Yes','No','No')%问题对话框,默认为No
switch choice,case 'Yes'delete(handles.figure1);%关闭窗口return;case 'No'return;
end

利用滑动条实现颜色调控

SliderStep 为[0.01 0.1] :一个是小步长,是点击slider两端的箭头移动的步长;一个是大步长,是点击slider时移动的步长

function slider1_Callback(hObject, eventdata, handles)
val=get(hObject,'value');%通过get获取滑动条的当前值
set(handles.text1,'BackgroundColor',[val val val]);

效果:


利用弹出式菜单选择并输入文本框

function popupmenu1_Callback(hObject, eventdata, handles)
val=get(hObject,'value');%获取数值,从上到下依次1到4
str=get(hObject,'String');%获取字符串,这里是菜单所有的字符串,相当于存到了字符串数组里
switch valcase 1set(handles.edit1,'String','');%输入到可编辑文本里case 2set(handles.edit1,'String',str{2});case 3set(handles.edit1,'String',str{3});case 4set(handles.edit1,'String',str{4});
end

效果:

利用列表框选择并输入文本框

function listbox1_Callback(hObject, eventdata, handles)
sel=get(gcf,'selectiontype');
if strcmp(sel,'open')%如果双击鼠标str=get(hObject,'String');%获取字符串n=get(hObject,'value');%获取数值set(handles.edit1,'string',str{n});%在静态文本中显示
end;

效果:

matlab guide对话框+滑动条+弹出式菜单+列表框的使用相关推荐

  1. android输入框圆形,GitHub - mylhyl/Android-CircleDialog: 仿IOS圆角对话框、进度条、列表框、输入框,ad广告框,支持横竖屏切换...

    Android-CircleDialog 基于DialogFragment封装,已封装的对话框类型有,常规对话框.列表框.输入框.进度框: 每个对话框类型也支持自定义边框圆角.背景透明度.字体大小与色 ...

  2. MFC小笔记:滑动条与编辑框

    需求: 有一个滑动条(IDC_SLIDER1)和一个编辑框(IDC_EDIT1),当滑动条变化时,数值在编辑框中同时显示. 添加NM_CUSTOMDRAW响应事件,代码如下: void CCamera ...

  3. 2.3 组合框(Combo Box)和列表框(List Box)使用实例

    组合框和列表框都可以在界面上同时显示多项内容,并且允许用户选中其中的某项内容,列表框还允许同时选择多项.这两种控件的使用,有很多相似之处: 2.3.1 技术要点: Windows 中预先定义了一系列& ...

  4. matlab gui输入数据库,从数据库值填充Matlab GUI列表框

    我对Matlab的GUI相对比较陌生,并且我使用GUIDE创建了一个简单的GUI.我想连接到一个数据库(已经定义和工作!)并用数据库中的值填充一个列表框,以便用户可以选择使用哪一个(在这种情况下,它们 ...

  5. Java学习day078 Swing用户界面组件(四:选择组件)(复选框、单选钮、边框、组合框、滑动条)

    使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识. day078   Swing用户界面组件(四:选择组件)(复选框.单选钮.边框.组合框.滑动条) 前 ...

  6. matlab利用滑动条控制图片二值化阈值

    前言 由于做项目的时候需要对图片进行二值化,而且图片不同需要达到二值化的效果也不同,如果一直要在程序里试探阈值比较麻烦.所以想利用图像界面中的滑动条人工控制二值化阈值. 一.主要步骤 1. 在matl ...

  7. 【OpenCV 】计算物体的凸包/创建包围轮廓的矩形和圆形边界框/createTrackbar添加滑动条/

    目录 topic 1:模板匹配 topic 2:图像中寻找轮廓 topic 3:计算物体的凸包 topic 4:轮廓创建可倾斜的边界框和椭圆¶ topic 5:轮廓矩¶ topic 6:为程序界面添加 ...

  8. 文字太多时给文本框添加滑动条——text + ContentSizeFitter + Scroll View

    文字少的时候,直接显示文字:文字多的时候,自动添加滑动条,拖动滑动条后查看全部文字. 1.字少的时候 2.字多的时候自动增加一个垂直滑动条 一.问题的来源 在一个固定区域显示文字,这些文字有时候会很多 ...

  9. 获取滑动条位置,动态调整对话框显示位置;为动态添加的button添加click事件

    1.获取滑动条位置,动态调整对话框显示位置 应用场景:页面上有三个按钮,所处位置高度不同,有的按钮需要移动滑动条才能看到,各个按钮点击后要弹出同一个对话框,为了保证对话框始终显示在当前视野的中央位置, ...

最新文章

  1. div css表单布局的五个小技巧
  2. String是值传递还是引用传递
  3. 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL
  4. JSP的session处理
  5. windows下命令行修改系统时间;修改系统时间的软件
  6. vue-环境变量和模式
  7. android中获取时间
  8. 设计模式-里氏替换原则
  9. unity3d-ngui UIScrollView 滚动方向与滚轮相反
  10. 【人才引进】博士补贴75万,硕士补贴20万,这个南方城市,高待遇引才150人!...
  11. Chrome 私人珍藏-AdBlock插件实现浏览器广告屏蔽,超强力
  12. idea将项目导出为jar包
  13. inode服务器与响应,inode客户端服务器下线请求和
  14. [ 树形DP ] BZOJ4987
  15. win10 计算机磁盘加内存,内存不够用?教你给Win10系统增加C盘空间
  16. Open mv识别三角形的办法
  17. html大作业网页代码 ——2019凡客服装店铺商城(1页) HTML+CSS+JavaScript HTML+CSS大作业_ 服装店铺网页制作作业_购物网页设计...
  18. html $符号的作用,javascript 中$符号是代表什么意思!
  19. jenkins linux 发邮件,Jenkins构建后发送邮件
  20. Ornstein-Uhlenbeck过程

热门文章

  1. C#操作Cookie
  2. linux——服务器与客户端实现聊天功能
  3. Error processing line 1 of vision-1.0.0-py3.6-nspkg.pth AttributeError: ‘NoneType‘ object has no
  4. ASP.NET MVC 使用防伪造令牌来避免CSRF攻击
  5. rpm命令包安装mysql_CentOS7使用rpm包安装mysql 5.7.18
  6. 华为手机鸿蒙系统怎么样_华为自研操作系统“鸿蒙”已用于华为手机
  7. IntelliJ IDEA下git版本回退,版本还原
  8. 二项分布的期望方差证明_关于二项分布
  9. python box2d模拟平抛运动_论述如何基于Box2D模拟星球重力效果
  10. node.js ajax success,前端如何通过ajax和node.js交互?