Matlab GUI界面设计
摘要:本篇博文基于MATLAB2014a进行GUI设计。
1.启动GUI设计
命令行输入guide,回车。
即可得到下面的对话框,进行相关的选择和设置
点击确定,得到两个文件,一个是.m文件,另一个是.fig文件,需要说明的是,.m文件用于编辑GUI中控件所需要的回调代码,.fig文件可以用鼠标拖拽等比较简单的操作进行初始的界面设计。
2..fig文件控件布局
本篇暂时涉及按钮、可编辑文本、静态文本、弹出式菜单、轴的实现,拖拽这些控件到界面中,可以点击绿色三角形运行GUI看看效果。
双击任意控件可以弹出控件的属性检查器,这里可以更改控件的初始属性,并且可以查看控件的tag值,用于回调程序的句柄调用。
3.GUI初始程序编写
3.1.初始程序是界面运行时最先执行的程序,用于对控件等的一些初始设置,该部分的代码应该添加在.m文件的test_OpeningFcn(hObject, eventdata, handles, varargin)函数中。
插入如下代码,使得可编辑文本失效
set(handles.edit1,'enable','off');
3.2.按钮程序编写,使得可编辑文本生效,右击按钮->查看回调->Callback,输入
set(handles.edit1,'enable','on');
3.3.可编辑文本程序编写,当可编辑文本框中输入文字后,在静态文本中显示出来
右击可编辑文本->查看回调->Callback,输入
set(handles.text1,'string',get(handles.edit1,'string'));
3.4.弹出式菜单编写
双击弹出式菜单,调出属性编辑器,进行以下操作
输入相应文字,点击确定。
该部分函数编写,右击弹出式菜单->查看回调->Callback,输入
3.5.轴部分程序编写
为了简单起见,这部分内容写在程序开头,作用是显示了一个正弦曲线
代码如下:
axes(handles.axes1)
t=0:0.001:4*pi;
f=sin(t);
plot(t,f,'g')
axis([0 4*pi -1 1])
grid on
xlabel('t')
ylabel('sin(t)')
title('正弦函数图像')
legend('f=sin(t)')
至此,基本功能均可实现
4.总结
①每个控件均可在属性编辑器里面设置初始值;
②如果需要全局变量,在定义和使用的时候都需要写关键字global。
5.附上全部代码。
function varargout = test(varargin)
% TEST MATLAB code for test.fig
% TEST, by itself, creates a new TEST or raises the existing
% singleton*.
%
% H = TEST returns the handle to a new TEST or the handle to
% the existing singleton*.
%
% TEST('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TEST.M with the given input arguments.
%
% TEST('Property','Value',...) creates a new TEST or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before test_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to test_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help test% Last Modified by GUIDE v2.5 26-Jan-2017 16:20:09% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @test_OpeningFcn, ...'gui_OutputFcn', @test_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);
if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});
endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
elsegui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT% --- Executes just before test is made visible.
function test_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to test (see VARARGIN)
set(handles.edit1,'enable','off');
axes(handles.axes1)
t=0:0.001:4*pi;
f=sin(t);
plot(t,f,'g')
axis([0 4*pi -1 1])
grid on
xlabel('t')
ylabel('sin(t)')
title('正弦函数图像')
legend('f=sin(t)')
% Choose default command line output for test
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes test wait for user response (see UIRESUME)
% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.
function varargout = test_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structure
varargout{1} = handles.output;% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.edit1,'enable','on');function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.text1,'string',get(handles.edit1,'string'));
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');
end% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
str = get(handles.popupmenu1, 'String');
val = get(handles.popupmenu1,'Value');
switch str{val};
case '选项一'set(handles.text1,'string','选项一触发');
case '选项二'set(handles.text1,'string','选项二触发');
case '选项三'set(handles.text1,'string','选项三触发');
end
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu1% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');
end
相关下载如下:
test.fig
test.m
欢迎交流指正。。。
Matlab GUI界面设计相关推荐
- matlab——GUI界面设计的相关问题
前几天导师让我使用GUI做一个用户界面,学习了一段时间的matlab,但还没有使用过GUI,花了半天的时间补了补课,然后边做边查,这里对我之前不懂的东西做一个总结和记录.其中很多只是我个人的理解,如有 ...
- Matlab GUI界面编程小白学习笔记
某个天朗气清的下午,老师给我布置了一个Matlab GUI 界面设计的任务,然后欢天喜地回家结婚去了,留我在美好的假期里继续孤零零地在学校里耕耘.好的,在此先祝贺老师新婚快乐,百年好合.然后咱们开始从 ...
- 基于MATLAB的数字图像处理系统GUI界面设计
基于MATLAB的数字图像处理系统GUI界面设计 图像读入 从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图 ...
- matlab gui期末设计,MATLABGUI课程设计期末大作业湖南理工学院
MATLABGUI课程设计期末大作业湖南理工学院 <数字图像处理>期末大作业暨课程考核报告姓名:邓巧灵学号:24112200002序号:02湖南理工学院南湖学院2014 年 6 月2目录一 ...
- 基于MATLAB GUI界面的串口小助手
文章目录 序 一.简介 二.步骤 1.创建一个空白GUI界面 2.拖入组件,进行搭建 3.编辑m文件 总结 序 将单片机传感器采集到的数据直接输入MATLAB进行运算分析,不仅适合仿真,在实际测试中, ...
- MATLAB GUI界面编程——一些细节问题
写在前面的话: 本篇博文主要对自己在进行MATLAB GUI设计时遇到的一些细节问题进行总结,点击下面目录中的相关问题,可以直接跳转至相应位置.另外,需要声明的是,我所使用的MATLAB版本--MAT ...
- MATLAB GUI 界面编程——常见问题和解决方法
前言 本篇博客主要对博主自己在做毕设 GUI 设计时遇到的一些细节问题进行总结纪录,点击下面目录中的相关问题,可以直接跳转至相应位置.另外,需要声明的是,我所使用的MATLAB版本--MATLAB R ...
- Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)
Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...
- 【Qt设计开发】GUI界面设计开发
文章目录 一.Qt简介和下载安装 二.Qt入门 2.1 创建第一个项目 2.2 快捷键和命名规范 2.3 Qt项目和VS2022项目相互转换 三.Qt基础 3.1 Qt对象树和窗口坐标系概念 3.2 ...
- 30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音
30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音 转自:http://www.cnblogs.com/web8cn/archive/2012/07 ...
最新文章
- ISME: 北大吴晓磊课题组揭示合作演化新机制:“自私”驱动合作关系的建立?...
- 我所理解的原型原型链
- python和java哪个-Python和Java哪个好?有什么区别?
- 【学习笔记】产品成本计划(Product Cost Planning)02
- Python基础之 Django视图和 URL 配置
- 作者:李姣(1981-),女,博士,中国医学科学院医学信息研究所副研究员、硕士生导师。...
- SQL:select case when(转)
- Chrome 75 开发者工具新特性
- C++ 学习 之Struct
- 剑指offer java -查找旋转数组的最小数字
- Python 技巧总结
- 怎么看so文件是哪个aar引进来的_突破微信限制,超大文件可以随便发
- 红帽wps linux安装包,rhel6(centos)安装WPS最新版
- cad隐藏图层命令快捷键_CAD关闭图层快捷键,隐藏显示的CAD图层
- 右下角弹窗 html 怎么写,右下角弹窗广告.html
- java如何调用手机拍照功能_手把手教你如何实现拍照功能
- 01赵玉荣-03安海莹-04郝玥-实训一
- 关于GNS3常用命令
- Eclipse集成Mybatis Generator及应用
- 通过学习制作长微博工具来了解水印的制作,及EditText中的内容在图片中换行显示
热门文章
- 微信小程序云开发答题小程序源代码(实现在线pk)
- 三星线刷工具Odin3_V3.12.7
- 基于Python+Opencv实现改变logo颜色
- hp linux还原系统还原,酷越一键备份还原(惠普电脑系统还原)精简美化版...
- docker+fastfds搭建文件服务器
- Android驱动开发过程中常用的adb指令
- 傻瓜进销存怎么样?收费吗?
- 计算机主机有自带的声音吗,Windows XP 系统中没有音频设备,怎么办?
- 【技术贴】从51下载的网站代码asp源码怎么运行?怎么打开?
- 如何用DETR(detection transformer)训练自己的数据集