Matlab GUI入门获取\设置界面控件的值

本文档通过一个简单的实例让你学会matlab GUI的制作流程。首先,图形用户界面GUI(Graphical User Interfaces)是一种用户和计算机进行信息交流的工具和方法,由各种图形对象组成。在这种用户界面下,用户的命令和对程序的控制是通过鼠标等输入设备“选择”各种图形对象来实现的。开发者只需在由软件开发工具自动生成的程序代码中添加自己的运算或控制代码,就可以完成应用程序的设计。

步骤:

1.新建一个GUI文件:选择BlankGUI(Default)

2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;(+ =
数据1 绿色显示框等都是静态文本框
)

布置好各控件以后,就可以来为这些控件编写程序来实现两数相加的功能了。

3.为数据1文本框添加代码

点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。

function edit1_Callback(hObject,eventdata, handles)

% hObject handle to edit1 (seeGCBO)

% eventdata reserved - to bedefined in a future version of MATLAB

% handles structure withhandles and user data (see GUIDATA)

% Hints: get(hObject,’String’)returns
contents of edit1 as text

% str2double(get(hObject,’String’))returns
contents of edit1 as a double

然后在上面这段代码的下面插入如下代码:

%以字符串的形式来存储数据文本框1的内容.如果字符串不是数字,则现实空白内容

input =str2num(get(hObject,’String’));

%检查输入是否为空.
如果为空,则默认显示为0

if
(isempty(input))

set(hObject,’String’,’0’)

end

guidata(hObject,handles);

这段代码使得输入被严格限制,我们不能试图输入一个非数字。

4.为edit2_Callback添加同样一段代码

5.为计算按钮添加代码来实现把数据1和数据2相加的目的。

用3中同样的方法在m文件中找到pushbutton1_Callback代码段如下;

functionpushbutton1_Callback(hObject, eventdata, handles)

% hObjecthandle to pushbutton1 (see GCBO)

% eventdatareserved - to be defined in a future version of MATLAB

% handles structurewith handles and user data (see GUIDATA)

在上面这段代码后添加以下代码;

a = get(handles.edit1,’String‘);

b = get(handles.edit2,’String‘);

% a and b are variables ofStrings type, and need to be converted

% to variables of Number typebefore they can be added together

total = str2num(a) +str2num(b);

c = num2str(total);

% need to convert the answerback into String type to display it

set(handles.text1,’String’,c);  % text1为静态文本框(最后绿色显示结果的框)的tag

guidata(hObject,handles);

程序分析:

a = get(handles.edit1,’String‘);b =
get(handles.edit2,’String‘);

上面这行代码把用户输入的数据存入到变量a,变量b中;

% a,b是字符型变量,在计算两者相加之前需把他们转换为数字型

total = str2num(a) +str2num(b);

这段代码实现两数相加

c = num2str(total);

set(handles.text1,’String‘,c);

guidata(hObject,handles);

以上两行代码分别用来更新计算结果文本框和图形对象句柄,一般Callback回调函数都以guidata(hObject, handles);结束以更新数据

时间: 2024-10-07 05:59:59

Matlab GUI入门获取\设置界面控件的值的相关文章

.NET后台如何获取前台HMTL控件的值

很多时候我们需要HTML控件,感觉比服务器控件更加简介,清爽,那么如何获取HMTL控件的值呢,请看下面例子: 前台页面代码: <input id="Text1" type="text" name="test" /> 获取值的后台代码:Request.Form["test"];记住这里是使用的name获取它的值. 假如是这个控件: <select id="sel_sex" name=&quo

Jquery获取EasyUI时间控件的值

jquery easyui日期控件中,在页面里用JS拿到设置的日期值的方法 jquery easyui 日期框 有这样的一个日期文本框: <input type="text" name="mdate" size="20" value="" id="mdate" class="easyui-datebox"/> 使用easyui给文本框选定日期值,然后,要在JS中拿到此日期框中

基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍. <input class="easyui

转--基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

原文  http://www.cnblogs.com/wuhuacong/p/3317223.html 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用 在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件Da

WinForm/Silverlight多线程编程中如何更新UI控件的值

单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e){        Thread t = new Thread(new ParameterizedThreadStart(SetTextBoxValue));    //当然也可以用匿名委托写成

C++MFC编程笔记day10 MF界面控件的使用2、属性页对话框、MFC线程

一 树型控件 1 相关类 CTreeCtrl-父类是CWnd,控件类. CTreeView-父类是CCtrlView,视图类.CTreeView=CView+CTreeCtrl CTreeView::GetTreeCtrl 2 CTreeCtrl的使用 对比CListCtrl:列表控件的每个数据项之间是平等关系,通过数据项 的索引值得到数据项的信息.树控件每个数据项称之为节点.节点之间 的关系包括父子关系和兄弟关系.通常通过节点句柄得到某个节点. 通常用来表示层次关系的数据. 2.1 设置控件的

C++MFC编程笔记day09 MF界面控件的使用1

一 MFC控件 1 控件介绍 1.1 静态控件包括图片.静态文本和分组框.生成的控件的ID统一是 IDC_STATIC.很少程序中访问和操作,只是使用静态控件显示信息 1.2 编辑框控件,控件类是CEdit,通常使用它接收用户的输入,显示 信息给用户. 1.3 按钮控件包括一般按钮.复选按钮和单元按钮,控件类都是CButton 单选按钮注意,同一组的按钮Tab键顺序的编号连续(Ctrl+d  显示tab顺序),而且编号小的 按钮设置group属性,才能在同一个对话框中,实现多个单选按钮的 多个分

Android 遍历界面控件

//遍历界面上的控件 fubin.pan LinearLayout sLinerLayout = (LinearLayout)findViewById(R.id.layout_scr); for (int i = 0; i < sLinerLayout.getChildCount(); i++) { View v=sLinerLayout.getChildAt(i); if ( v instanceof RadioGroup){ RadioGroup mRadioGroup = (RadioGr

easyui表单多重验证,动态设置easyui控件

要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最开始的验证代码如下: 1 //学号格式只能为数字 ****//这里没有问题**** 2 number: {//value值为文本框中的值 3 validator: function (value) { 4 var reg = /^[0-9]*$/; 5 return reg.test(value);