第7章 用户图形界面设计.

Slides:



Advertisements
Similar presentations
广州市小学信息技术教学同步资源 第一册 第二章 第六节 《 Window窗口》 广州市荔湾区西华路小学 董绮珊.
Advertisements

第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
项目2 字符格式和段落编排 2017年3月7日6时54分.
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
UI(用户界面)集训班 Illustrator 高级班.
运用Matlab GUI辅助大学物理实验 蒋志洁 中山大学 物理学院
在PHP和MYSQL中实现完美的中文显示
UI 软件 设计 网页基本元素设计(二).
第七章 GUIDE入门 7.1 概述 7.2 图形句柄入门 7.3 GUIDE工具入门 7.4 创建图形用户界面外观
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
MATLAB 程式設計入門篇 握把式圖形與 GUI 設計
音訊 延伸學習 Audio Signal Processing and Recognition (音訊處理與辨識) 張智星
大学计算机基础 典型案例之一 构建FPT服务器.
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
第五讲 matlab句柄绘图 ——matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。
走进编程 程序的顺序结构(二).
辅导课程六.
第八讲 MATLAB图形用 户界面设计.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
影像處理概論-期末專題報告 題目:圖片文字消除
第一讲: 基本流程(1).
国家级精品课程 控制系统仿真与CAD 第二章 MATLAB 语言程序设计基础
第10章 高级用户界面设计 10.1 菜单设计 10.2 通用对话框 10.3 图像列表框控件 10.4 树形视图控件
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.函数 2.程序 3.图形 目的:掌握Matlab作平面曲线图的方法与技巧
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
计算机及办公软件应用 ©2013 苏州工业园区职业技术学院
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
VisComposer 2019/4/17.
第3章 MATLAB图形初步 编者.
姚金宇 MIT SCHEME 使用说明 姚金宇
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
第五章 对象特性与图层 主要内容: 对象特性 图层的应用.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
VRP教程 2011.
Delphi 7.0开发示例.
Python 环境搭建 基于Anaconda和VSCode.
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
Polarization of electro- magnetic wave after reflection
正弦函数的性质与图像.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
YOUR SUBTITLE GOES HERE
实验一 特殊函数与图形.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
实验二 MATLAB绘制图形.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
Presentation transcript:

第7章 用户图形界面设计

本章目标 理解用户图形界面的用途 掌握图形用户界面的设计开发工具GUIDE 理解图形对象的常用句柄命令

主要内容 7.1图形用户界面设计工具GUIDE 7.2控件 7.3 GUIDE常用工具 7.4使用GUIDE的GUI设计 7.5句柄图形 7.6图形对象句柄命令

7.1图形用户界面设计工具GUIDE 可视化图形界面开发环境Guide Graphical User Interface Development Environment

用户界面开发环境组成 (1)菜单栏; (2)Guide工具栏; (3)图形控件面板; (4)界面编辑客户区。

7.2 控件 1.静态文本(Static Text) 2.编辑框(Edit Text)控件 3.列表框(Listbox)控件 4.滚动条(Slider)控件 5.按钮(Push Button)控件 6.开关按钮(Toggle Button)控件 7.单选按钮(Radio Button)控件 8.按钮组(Button Group)控件 9.检查框(Check Box)控件 10.列表框(Listbox)控件 11.弹出式菜单(Popup Menu)控件 12.坐标轴(Axes)控件 13.面板(Panel)控件

7.3 GUIDE常用工具 Layout Editor:布局编辑器; Alignment Tool:对齐工具; Property Inspector:对象属性观察器; Object Browser:对象浏览器; Menu Editor:菜单编辑器。

1.布局编辑器 (1)Cut:对选中的控件进行剪切操作。 (2)Copy:复制选中的控件。 (3)Paste:粘贴复制的控件。 (4)Delete:删除选中的控件。 (5)Duplicate:对选中的控件进行复制并粘贴。 (6)Property Inspector:对选中的控件打开属性检查器。 (7)Object Browser:打开对象浏览器。 (8)ButtonDownFcn:按下鼠标时控件回调的函数。 (9)Callback:单击鼠标时控件回调的函数或功能。 (10)CreateFcn:定义控件在创建阶段执行的回调例程。 (11)DeleteFcn:定义在对象的删除阶段执行的回调例程。

2.对齐工具

3.对象属性观察器 一、控件风格和外观 (1)BackgroundColor:设置控件背景颜色,使用[R G B]或颜色定义。 (2)CData:在控件上显示的真彩色图像,使用矩阵表示。 (3)ForegroundColor:文本颜色。 (4)String属性:控件上的文本,以及列表框和弹出菜单的选项。 (5)Visible:控件是否可见。

3.对象属性观察器 二、对象的常规信息 (1)Enable属性: 表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。 (2)Style:控件对象类型。 (3)Tag:控件表示(用户定义)。 (4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。 (5)UserData:用户指定数据。 (6)Position:控件对象的尺寸和位置。 (7)Units:设置控件的位置及大小的单位 (8)有关字体的属性,如 FontAngle, FontName等。

3.对象属性观察器 三、控件回调函数的执行 (1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。 (2)ButtonDownFcn属性:按钮按下时的处理函数。 (3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。 (4)CreateFcn:在对象产生过程中执行的回调函数。 (5)DeleteFcn:删除对象过程中执行的回调函数。 (6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。

3.对象属性观察器 四、控件当前状态信息 (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。 (2)Max:最大值。 (3)Min:最小值。 (4)Value:控件的当前值。

4.对象浏览器 对象浏览器里面列出了所有对象的树状结构,这些结构就是当前正在设计的GUI程序中用到的所有对象。

5.菜单编辑器 菜单编辑器提供了两种菜单类型的编辑功能: 下拉式菜单(Menu Bar) 弹出式菜单(Context Menu)

例7-2 编写一个3D立体图的演示程序

7.4使用GUIDE的GUI设计 使用Guide进行GUI的界面设计,就像在纸上绘制界面一样简单。 界面编辑工具-设计出界面的大体方案 事件过程编辑器-编写各个对象的事件代码

例7-3 建立一个图形界面来显示和处理三维图形 基本功能要求如下。 (1)建立一个坐标系,以备以后来绘制三维图形; (2)建立三个按钮,用于启动绘图功能; (3)建立一个组合框(Popup Menu),用于显示不同的图形。

解题步骤: (1)打开布局编辑器 (2)增加组件 (3)对齐工具 (4)设置每个组件的属性; (5)设置Guide应用程序选项,采用默认属性。 (6)激活图形

程序代码: function varargout = My0703(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @My0703_OpeningFcn, ... 'gui_OutputFcn', @My0703_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{:});

程序代码: function My0703_OpeningFcn(hObject, eventdata, handles, varargin) handles.peaks=peaks(35); handles.membrane=membrane; [x,y]=meshgrid(-8:0.5:8); r=sqrt(x.^2+y.^2)+eps; sinc=sin(r)./r; handles.sinc=sinc; handles.current_data=handles.peaks; surf(handles.current_data); handles.output = hObject; guidata(hObject, handles); function varargout = My0703_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function Surf_pushbutton_Callback(hObject, eventdata, handles) function Mesh_pushbutton_Callback(hObject, eventdata, handles) mesh(handles.current_data);

程序代码: function Contour_pushbutton_Callback(hObject, eventdata, handles) contour(handles.current_data); function data_popup_Callback(hObject, eventdata, handles) val=get(hObject,'Value'); str=get(hObject,'String'); switch str{val} case 'peaks' handles.current_data=handles.peaks; case 'membrane' handles.current_data=handles.membrane; case 'sinc' handles.current_data=handles.sinc; end guidata(hObject,handles);

7.5句柄图形 句柄图形是对底层图形命令集合的总称,它实际上进行生成图形的工作。

7.5.1句柄图形的层次关系

7.5.2图形窗口对象的属性 1.Color属性 2.MenuBar属性 3.Name属性 4.NumberTitle属性 5.Units 属性 6.Position属性 7.Resize属性 8.Visible属性 9.NextPlot属性 10.打印纸属性 11.各种回调函数

7.6图形对象句柄命令 句柄系统可以从底层(1ow level)创建和操作线、面、文字、图像等基本图形对象指令。

7.6.1建立图形对象的函数 1.figure函数:创建一个新的图形对象。 2.newplot函数:做好开始画新图形对象的准备。 3.axes函数:创建坐标轴图形对象。 4.line函数:画线。 5.patch函数:填充多边形。 6.surface函数:绘制三维曲面。 7.image函数:显示图片对象。 8.uicontrol函数:生成用户控制图形对象。 9.uimenu函数:生成图形窗口的菜单中层次菜单与下一级子菜单。

例7-4 显示曲线图 程序: h=figure(); t=0:pi/10:2*pi; line(t, sin(t)); line(t, cos(t));

例7-5显示多边形。 程序: x=0:pi/4:2*pi; patch(sin(x),cos(x),'r')

7.6.2图形对象句柄的获得和删除 gcf函数:获得当前图形窗口的句柄 gca函数:获得当前坐标轴的句柄 gco函数:获得当前对象的句柄 gcbo函数:获得当前正在执行调用的对象的句柄 gcbf函数:获取包括正在执行调用的对象的图形句柄 delete函数:删除句柄所对应的图形对象 findobj函数:查找具有某种属性的图形对象

7.6.3对象属性的获取和设置 (1)get函数返回某些对象属性的当前值。例如: (2)函数set改变句柄图形对象属性,例如: p=get(hf_1,'Position') ; (2)函数set改变句柄图形对象属性,例如: set(hf_1,'Position',vect);

扩展阅读 7.7公用对话框文件 文件选择对话框 颜色选择对话框 字体选择对话框 页面设置对话框 警告与错误信息对话框 简单帮助信息对话框

上机指导 7.8 动画制作 例:编写一个演示程序,用于显示小球沿正弦曲线运动的运动规律。

应用举例 利用界面设计工具guide,重新编写MATLAB中平面演示程序graf2d.m。

解题步骤: (1)利用界面编辑器,设计窗口初始位置和大小,添加所需控件 (2)新建图形对象,对齐所有控件 (3)设置新建对象的属性 (4)在产生的M文件加入相应代码

程序代码-1 function line_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( ... ' % Line plot of a chirp', ... ' x=0:0.05:5;', ... ' y=sin(x.^2);', ... ' plot(x,y);' ... ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1); function bar_pushbutton_Callback(hObject, eventdata, handles) ' % Bar plot of a bell shaped curve', ... ' x = -2.9:0.2:2.9;', ... ' bar(x,exp(-x.*x));' ...

程序代码-2 function stair_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( ... ' % Stairstep plot of a sine wave', ... ' x=0:0.25:10;', ... ' stairs(x,sin(x));' ... ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1); function Error_pushbutton_Callback(hObject, eventdata, handles) ' % Errorbar plot', ... ' x=-2:0.1:2;', ... ' y=erf(x);', ... ' e = rand(size(x))/10;', ... ' errorbar(x,y,e);' ...

程序代码-3 function Polar_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( ... ' % Polar plot', ... ' t=0:.01:2*pi;', ... ' polar(t,abs(sin(2*t).*cos(2*t)));' ... ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1); function stem_pushbutton_Callback(hObject, eventdata, handles) ' % Stem plot', ... ' x = 0:0.1:4;', ... ' y = sin(x.^2).*exp(-x);', ... ' stem(x,y)' ...

程序代码-4 function info_pushbutton_Callback(hObject, eventdata, handles) helpwin function close_pushbutton_Callback(hObject, eventdata, handles) close(gcf);

结 束 语 学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成 上机练习 正比