下面拿三角函数做一个简单的例子,说明GUI界面控件及回调函数的使用

第一步:首先建立一个GUI,在command命令窗口中键入guide,会显示出GUI建立对话框。

第二步:把界面所需要的控件添加上去,自己设置tag值或String值。

一个axes控件,4个pushbutton控件

双击控件来设置控件的一些属性,常用的属性 tag和String

axes按钮用来显示三角函数的曲线,第一个pushbutton按钮tag属性我这里改为了sin,String属性也改为了sin,同理,后两个pushbutton控件tag值分别为cos、tan.还添加了一个清除控件Clear,用来清除掉axes1上显示出来的曲线。

第三步:这是最重要的一步,回调函数callback如何写,使这些控件各自完成自己的工作

GUI会自动生成 .m文件,在对控件进行回调时(右击控件→View Callbacks→Callback)会自动生成 .m文件。

出现保存对话框,要对GUI进行保存,保存后会自动生成  .m文件,或单击GUI界面 M-File Editor,会显示出生成的  .m文件。

接下来就是在各个pushbutton下(sin、cos、tan、Clear)回调函数下添加实现功能的代码。

.m文件中下列代码不得改动,是每个GUI建立都会自动生成的,若改动就会出错

function varargout = sanjiaohanshui(varargin)
% SANJIAOHANSHUI M-file for sanjiaohanshui.fig
%      SANJIAOHANSHUI, by itself, creates a new SANJIAOHANSHUI or raises the existing
%      singleton*.
%
%      H = SANJIAOHANSHUI returns the handle to a new SANJIAOHANSHUI or the handle to
%      the existing singleton*.
%
%      SANJIAOHANSHUI('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in SANJIAOHANSHUI.M with the given input arguments.
%
%      SANJIAOHANSHUI('Property','Value',...) creates a new SANJIAOHANSHUI or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before sanjiaohanshui_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to sanjiaohanshui_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 sanjiaohanshui

% Last Modified by GUIDE v2.5 25-Oct-2015 22:01:14

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @sanjiaohanshui_OpeningFcn, ...
                   'gui_OutputFcn',  @sanjiaohanshui_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

首先在下列代码中添加x的范围

function sanjiaohanshui_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 sanjiaohanshui (see VARARGIN)

% Choose default command line output for sanjiaohanshui
handles.output = hObject;
%添加函数范围
handles.x=-pi:0.01:pi;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes sanjiaohanshui wait for user response (see UIRESUME)
% uiwait(handles.figure1);

接下来,在sin控件的回调函数下添加代码,实现其功能(在坐标轴axes1上显示正弦曲线)

function sin_Callback(hObject, eventdata, handles)
% hObject    handle to sin (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
x=handles.x;
y=sin(x);
plot(handles.axes1,x,y);

同理,在cos、tan、Clear回调函数下添加如下代码

function cos_Callback(hObject, eventdata, handles)
% hObject    handle to cos (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
x=handles.x;
y=cos(x);
plot(handles.axes1,x,y);

function tan_Callback(hObject, eventdata, handles)
% hObject    handle to tan (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
x=handles.x;
y=tan(x);
plot(handles.axes1,x,y);

function clear_Callback(hObject, eventdata, handles)
% hObject    handle to clear (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%
try
    delete(allchild(handles.axes1));     %%清除坐标轴上的三角函数曲线
end

GUI界面设计1 三角函数相关推荐

  1. Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)

    Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...

  2. 【Qt设计开发】GUI界面设计开发

    文章目录 一.Qt简介和下载安装 二.Qt入门 2.1 创建第一个项目 2.2 快捷键和命名规范 2.3 Qt项目和VS2022项目相互转换 三.Qt基础 3.1 Qt对象树和窗口坐标系概念 3.2 ...

  3. 30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音

    30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音 转自:http://www.cnblogs.com/web8cn/archive/2012/07 ...

  4. [java/初学者/GUI编程]GUI界面设计——界面组件类

     前言 GUI,即图形用户界面,其英文全称是Graphics User Interface. 它是基于图形的界面,windows就是一个图形用户界面的操作系统,而DOS是基于命令提示符的操作系统,GU ...

  5. 基于MATLAB的数字图像处理系统GUI界面设计

    基于MATLAB的数字图像处理系统GUI界面设计 图像读入 从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图 ...

  6. gui界面设计心得体会 python_关于GUI的一点心得体会

    [Fig 文件方式,即使用菜单 File->New->GUI 来设计界面 ] 首先值得注意的是, 在低版本 matlab 上 制作的含 GUI 的 m 文件一般不能在高版 本的 matla ...

  7. ROS项目开发实战(三)——使用QT进行ROS的GUI界面设计(详细教程附代码!!!)

    序 本篇博客主要介绍怎么使用qt对ros进行gui设计与调试,包括使用列表视图显示ROS话题发布与接收的消息,点击QT按钮按钮进行ros消息的发布. 在阅读本文之前没有安装QT与配置环境可以参考博文: ...

  8. matlab 版 数独小游戏 GUI界面设计

    近期,由于各种原因,接触到了matlab版的数独小游戏,需要做GUI界面.由于之前本科的时候自己也做过简单的界面涉及,就以为很简单,结果,piapia打脸.数独中的数字是在table中显示的,为了将题 ...

  9. MATLAB2013实现图像处理GUI界面设计

    程序源码:https://github.com/klc407073648/matlab 1.首先在Matalb命令行中输入guide指令: 2.点击open,打开我设计好的界面如下: 主界面主要包含两 ...

  10. python应用: GUI界面设计之JPG转ico工具编辑(PythonMagic)

    1.环境: windows7 python3.7 该实例设计到的库有: PythonMagick,win32api,win32con,wx,os 等模块 该实例运用到:提示消息框,GUI界面,打开当前 ...

最新文章

  1. SELinux与强制访问控制系统应用
  2. R语言构建决策树(decision trees)模型并进行调优和解释
  3. CSDN 文章标题含非法字符
  4. python isnumeric函数用法_Python中isnumeric()方法的使用简介
  5. Exchange 2010迁移Exchange 2013(一)共存部署
  6. [数据库] MySQL基础知识之日期判断及添加排序序号
  7. C#判断某天是否是周末或者节假日示例
  8. 【期望】关灯游戏(金牌导航 期望-8)
  9. Python模块(2)-Numpy 简易使用教程
  10. LeetCode 685. 冗余连接 II(并查集)
  11. kafka 启动 与redis启动
  12. 支付宝花呗接口接入php,支付宝小程序开通花呗接口,这是正式向微信小程序正式宣战?...
  13. 免费的响应式bootstrap管理员后台界面主题 - Charisma
  14. python中tensor与variable_TensorFlow中Variable和get_variable之间的区别
  15. 深入解析浏览器的幕后工作原理(一) 简介
  16. python游戏编程入门百度云-《Python游戏编程快速上手》PDF下载|百度云盘
  17. word如何绘制斜线表头
  18. C# 字节(数组)与位之间的计算
  19. python 网站 批量 投票_python requests 简单实现易班自动登录,批量_文章发布,投票发布,评论,点赞,v2.0...
  20. python实验总结与分析_【利用python进行数据分析】利用初中物理实验 培养学生发散思维...

热门文章

  1. php李炎辉,李炎恢PHP视频教程第一季资源分享
  2. VS+Qt应用开发-设置鼠标光标
  3. 移动硬盘安装Linux ubuntu20.04.1LTS,分区详细介绍
  4. ubuntu20.04安装无线网卡驱动
  5. flash在线拍照并上传
  6. 无人驾驶网约车营销分析
  7. pytorch之日志模板logging
  8. Hybird接口的理解
  9. redis 客户端操作命令
  10. 欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 最新版本:20110222