matlab制作GUI界面(1)

概述

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。

创建GUI界面

在MATLAB界面中,点击新建->应用程序->GUIDE。
在这里插入图片描述
或者在MATLAB命令窗口输入guide,会打开下图所示的GUIDE启动对话框。
在这里插入图片描述

界面设置

对于调节gui界面大小,主要有2中方法。
1.单击网络区域右下角,当鼠标变成箭头形式时,拖动鼠标。
在这里插入图片描述

2.1在视图菜单中,选择属性检查器。
在这里插入图片描述
2.2 2)选择Unixs后边的按钮并从下拉菜单中选择Centimeters选项。

3)单击Position前面的+,x和y代表GUI左下角位置的坐标,改变width和height可随意改变GUI窗口的长度和宽度,你可以按照自己的意愿设定。

在这里插入图片描述

静态文本

Matlab GUI设计中,可编辑文本控件常用于交互,而一些静态文本的显示功能则一般使用静态文本控件(txt控件)。
在这里插入图片描述
静态文本主要设置有如下:
ForegroundColor:背景颜色
FontSize:字体大小
FontUnits:斜体
FontWeight:加粗
ForegroundColor:字体颜色
HorizontalAlignment:对齐方向
InnerPosition:所在位置(x、y为文本坐标,width、height为宽度和高度)
String:显示文本
Style:字体风格

最后

以上的代码会在Q群里分享。QQ群:615061293。
关注微信公众号『记贴』,持续更新文章和学习资料,可加作者的微信交流学习!
在这里插入图片描述

  • 5
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
想用matlab做界面吗?这是很好的质料。Manual de nterfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero GUIDE INTERFAZ GRAFICA DE USUARIO EN MATLAB INTRODUCCIO N GUidE es un entorno de programacion visual disponible en MATLAB para rcalizar y cjccutar programas quc nccesitcn ingreso continuo dc datos. Ticnc las caracteristicas basica de todos los programas visuales como Visual Basic o Visual C++ INICIO Para iniciar nuestro proyecto, lo podemos hacer de dos maneras Ejecutando la siguiente instruccion en la ventana de comandos > guide Haciendo un click en el icono que muestra la figura L MATLAE iE Ecit Debug Desktop wing ? ⅥAAT Shortcuts 2 Whar's lew L How to-y GUIDE FLEAR E] CLOSE ALL S BOR Currenl Dirurluiy-C-WHATLAB7Iwwurk p x Cultu wfildluw [朝马 山Fit F 当A|Dl DCOLMUNCATIONS IconO GUIDe Se presenta el siguiente cuadro de dialogo GUIDE Quick Start JIDE templ Lestion alo BLAN save nn startup a< C: MA. LAB701workMIG MATLABIsou'celuntitle d f g Ventana de inicio de gul WebsobremaTlab:www.matpic.com3 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de interfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero c presentan las siguientes opciones a) blank gui default La opcion de interfaz grafica de usuario en blanco(viene predeterminada), nos presenta uin formulario nuevo, en el cual podemos disenar nuestro programa b gui with Uicontrols Esta opcion presenta un ejemplo en el cual se calcula la masa, dada la densidad y el volumen, en alguno de los dos sistemas de unidades. Podemos ejecutar este ejemplo y obtener resultados c) GUI with Axes and menu Esta opcion es otro ejemplo el cual contiene el menu File con las opciones Open, Print y Close En el formulario tiene un Popup menu, un push button y un objeto Axes, podemos ejecutar el programa eligiendo alguna de las seis opciones que se cncucntran cn cl mcnu despcgablc y haciendo click cn cl boton dc comando d )Modal Question Dialog Con esta opcion se muestra en la pantalla un cuadro de dialogo comun, el cual consta de una pequena imagen, una etiqueta y dos botones Yes y No dependiendo del boton que se presione, el gui retorna el texto seleccionado (la cadena de caracteres Yes'0 No') Elegimos la primera opcion, Blank GUl, y tenemos 回区 b臼圖磨“c串郾回爵哈|卜 componentes Ar ea de diseno Entorno de diseno de gul La interfaz grafica cuenta con las siguientes herramientas 串| Alinear objetos Editor de menu B Editor de orden de etiqueta 包 ditor del m-file p dades de objeto s Navegador de objetos Grabar y ejecutar(ctrl. T WebsobreMatlab:www.matpic.com4 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de nterfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero Para obtcncr la ctiqucta dc cada clemento dc la palcta de components ejecutamos: File>> Preferences y seleccionamos Show names in component palette Tenemos la siguiente presentation untitle d1. fig 匚回 电的当B歇国的哈 西PuEh Bulto C Radio button Entorno de diseno: componentes etiquetados La siguiente tabla muestra una descripcion de los componentes I Control valor de estilo Descripcion Check box checkbox Indica el estado de una opcion o atributo Editable text Caja para editar texto Pop-up menu ' popupmenu Provee una lista de opciones List box "listbox? Muestra una lista deslizable Push button pushbutton' Invoca un evento inmediatamente Radio Button radio Indica una opcion que puede ser seleccionada Toggle Button.togglcbutton, Solo dos estados,“on”o¨of lder Slider Sado para representar un rango de valores Static Text text Muestra un string de texto en una caja Panel button Agrupa botones como un grupo Button Group Permite exclusividad de seleccion con los radio button PROPIEDADES DE LOS COMPONENTES Cada uno de los elementos de gul, tiene un conjunto de opciones que podemos acccder con click dcrccho M-「!Eui|ur view Cal la3=ks rockery Edit Opciones del componente WebsobreMatlab:www.matpic.com5 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de nterfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero La opcion Property Inspector nos permite pcrsonalizar cada clcmcnto Pr 回区 BeinyD BUSwActiol Butten Down 画 tvelght HuricUllLaIAliyr irrierIl v center ntarriintihl Entorno Property inspector Permile ver y editar las propiedades de un objeto Al hacer click dcrccho cn cl clcmento ubicado cn cl arca de disco. una de las opciones mas importantes es View Callbacks, la cual, al ejecutarla, abre el archivo. m asociado a nuestro diseno y nos posiciona en la parte del programa que corresponde a la subrutina que se ejecutara cuando se realice una determinada accion sobre el elemento que estamos editando Por ejemplo, al ejecutar View Callbacks>> Callbacks en el Push Button, nos ubicaremos en la parte del programa function pushbutton Callback(hobjectr eventdata, handles) 9h0oiect handle to pushbutton (see GC30) eventdata reserved-to be defined in a future version of matlaB candles structure with handles and user data(see gUIdata) FUNCIONAMIENTO DE UNA APLICACION GUI Una aplicacion GUIDE consta de dos archivos: m y fig. El archivo. m es el que contiene el codigo con las correspondencias de los botones de control de la interfaz y el archivo, fig contiene los elementos graficos Cada vez que se adicione un nuevo elemento en la interfaz grafica, se genera automaticamente codigo en el archIvo. m Para ejecutar una Interfaz Grafica, si la hemos etiquetado con el nombre curso. fig, simplcmentc cjccutamos cn la ventana dc comandos > curso O hacicndo click derecho en el m-file y seleccionando la opcion RUN WebsobreMatlab:www.matpic.com6 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de interfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero MANEJO DE DATOS ENTRE LOS ELEMENTOS DE LA APLICACION Y EL ARCHIVO.M Todos los valores de las propiedades de los elementos(color, valor, posicion string .) y los valores dc las variables transitorias del programa sc almaccnan cn una estructura, los cuales son accedidos mediante un unico y mismo identificador para todos estos. Tomando el programa listado anteriormente, el identificador se asigna en t= ho handles, es nuestro identificador a los datos de la aplicacion. esta definicion de identificador es salvada con la siguiente instruccion guidaca(hobjectr handles)i guidata, es la sentencia para salvar los datos de la aplicacion Aviso: guidata es la funcion que guarda las variables y propiedades de los elementos en la estructura de datos de la aplicacion, por lo tanto, como regla general, en cada subrutina se debe escribir en la ultima linea lo siguiente guidata(hobject handles) Esta sentencia nos garantiza que cualquier cambio o asignacion de propiedades o variables quede almacenado Por cjcmplo, si dentro dc una subrutina una operacion dio como resultado una variable diego para poder utilizarla desde el programa u otra subrutina debemos salvarla de la siguiente manera handles. diego=diego quidata(hobject, handles La primera linea crea la variable diego a la estructura de datos de la aplicacion apuntada por handles y la segunda graba el valor SENTENCIAS GET Y SET La asignacion u obtencion de valores de los componentes se realiza mediante las sentencias get y set. Por ejemplo si queremos que la variable utpl tenga el valor del Slider escribimos utpl= get(handles slider,'value)i Notar quc siempre se obticnen los datos a traves de los identificadores handles Para asignar el valor a la variable utpl al statictext etiquetada como text/ escribimos set(handles. etl, String, utp)eScribe el valor del slider sen static-text WebsobreMatlab:www.matpic.com7 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de interfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero eJeMPLOS PRESENTACION DE NUESTRO PROGRAMA -A procesamiento Digital de Senales 巴回囟 Presentacion del Programa Par: Diego Barrayan Guerrero □T|LAR ANCEL OF P们 RIBUTION Presentation del programa Para la prescntacion dc nucstro programa, vamos a programar una pantalla donde podemos colocar el tema de nuestro diseno, nombre del programador, imagen de fondo Para esto, tenemos el siguiente codigo(copiar y pegar en un m-file) function presentation cAutor: Diego barragan Guerrero CEstudiante de Electronica y Telecomunicaciones 大大大大★大大x大大大大大大大大大大大Xx大大大大大火大大大大大x大大大大大大水大大大大x大大大大大大大大大大大大大x大大 presentacion: funcion que presenta la pantalla de presentacion 大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大大 clear, clc cla, close all Creamos figura figdiag=fiqure(' Units,' Pixels'r Para nuestro curso, creamos en C: \MATLAB71\work la carpet MIS MATLAB, donde almacenaremos todos nuestros programas WebsobreMatlab:www.matpic.com8 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de interfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero Position'′,[0.07250.07250.570.57],...8 Tamano de1 presentation ' Number''cff I Name,Electronica y Telecomunicacicnes, MEnubar,none o1or,[003]); Ubicamos ejes en figura axes('Units, Normalized Position"’,[0011]); C-----Centramos la figura scrs - get(O,Screensize')i pos act-get(gcf,'Position)i xr=scrs (3) pos act(3) xp=round(xr/2) yr=scrs(4)-pos act (4)i yp=round(vr/2)i set(gcf,' Position,[xp yp pos act(3) pos act(4)])i PIncluir imagen Tmportamos imagen *. jpg, junto con su mapa de colores [x, map]=imread( 'circuit. jpg,pg) tRepresentamcs imagen en figura, con su mapa de colcres image(x),colormap(map), axis off, hold on Titulos sobre imagen text(50,50,'Presentacion del Programa,' Fontname,'Arial',' Fontsize,25,Fontangle',Italic Fontweight,Bold,'color,[11 0])i Nombre del programador text(50,-30,por: Diego Barragan Guerrero,'Fontname' Comic Sans Ms Fontangle''itali Fontweight ''Bcld Fontsize'14,color[11 11)i 2 Boton continuar book=uncontrol( style, pushbutton, Units normalized Position',[.84.03.12.35 String, CONTINUar' i Callback'r' clear alli close alli clc, GUI)i Gui es el nombre del siguiente programa Las sentencias luego del comentario Boton Continuar, en la linea 'Callback,'clear all: close all;cIc; GUT;') se reemplaza GuI por el nombre de nuestro programa disenado con interfaz de usuario Para ejecutarlo, presionamos la tecla F5 Otra manera de presentar nuestro programa es con la siguiente funcion function presen(filename, varargin) presen(filename, varargin filename es el nombre de una imagen y su extension varargin es el tiempo en milisequndos 老ep1o: WebsobreMatlab:www.matpic.com9 VideossobreMatlaben:www.youtubecom/diegokillemall Manual de interfaz grafica de usuario en matlab Por: Diego Orlando Barragan Guerrero presen(' portada ipg, 2000) if nargin ==1 imread (filename)i t 4000 elseif (nargin ==2)&(ischar(varargin(1) fmt vararginil y I imread(filename, frt)i time=4003; Seif (nargin --2)&(isnumeric(vararginf1) I imread(filename time varargin(l: elseif nargin ==3 fmt rangin[1) I imread(filename, frt) time vararginf2: if (visnumeric(tine))I (length(time)w=1) error( erROR: TTME debe ser un valor numeric en seg.) end e⊥se error( error: demasiados datos entrada! )i end judas Image- im2iava(-)i win =javax. swing. JWindow icon = javax. swing. ImageIcon (judas Image)i label javax swing. JLabel(icon)i win. getContentPane add(label)i screensize win. getToolkit. getscreensizei screenHeight screenSize height screenwidth screensize width imgHeight icon. getIconHeigat imgNidth icon. getIconWidthi win. setLocation((screenWidth-imgWidth)/2,(screenHeight-imgHeight)/2)i win, pack win. show tici while toc -ime/1000 end win. dispose() No olvidar que las funciones se guardan con el mismo nombre WebsobreMatlab:www.matpic.com10 VideossobreMatlaben:www.youtubecom/diegokillemall
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记帖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值