Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Agregar componentes a una aplicación programática

Los controles de interfaz de usuario son componentes comunes de la IU, como botones, casillas de verificación y controles deslizantes. Las tablas presentan datos en filas y columnas. Los paneles y los grupos de botones son contenedores en los que puede agrupar elementos relacionados en la interfaz de usuario. componentes le permiten mostrar controles.ActiveX®ActiveX

Controles de interfaz de usuario

Botón

Este código crea un botón pulsador:

f = figure; pb = uicontrol(f,'Style','pushbutton','String','Button 1',...                 'Position',[50 20 60 40]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, el uicontrol para que sea un botón de inserción.'Style','pushbutton'

Añadir la etiqueta al pulsador.'String','Button 1'Button 1

Especifica la ubicación y el tamaño del pulsador.'Position',[50 20 60 40] En este ejemplo, el pulsador tiene 60 píxeles de ancho y 40 de alto. Se posiciona a 50 píxeles de la izquierda de la figura y a 20 píxeles de la parte inferior.

Mostrar un icono en un botón pulsador.  Para añadir un icono a un pulsador, asigne la propiedad del botón a una matriz m-by-n-by-3 de valores RGB que definan una imagen truecolor.CData

Botón de radio

Este código crea un botón de radio:

f = figure; r = uicontrol(f,'Style','radiobutton',...                 'String','Indent nested functions.',...                 'Value',1,'Position',[30 20 150 20]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones. Si tiene varios botones de radio, puede administrar su selección especificando el elemento primario como un grupo de botones. Consulte para obtener más información.Grupos de botones

Los argumentos de par nombre-valor, especifica el uicontrol a un botón de radio.'Style','radiobutton'

especifica una etiqueta para el botón de opción.'String','Indent nested functions.'

selecciona el botón de opción de forma predeterminada.'Value',1 Establezca la propiedad en el valor de la propiedad para seleccionar el botón de opción.ValueMax Establezca el valor para que sea el valor de la propiedad para anular la selección del botón de opción.Min Los valores predeterminados de y son 1 y 0, respectivamente.MaxMin

Especifica la ubicación y el tamaño del botón de opción.'Position',[30 20 150 20] En este ejemplo, el botón de radio tiene 150 píxeles de ancho y 20 de alto. Se coloca a 30 píxeles de la izquierda de la figura y a 20 píxeles de la parte inferior.

Botón de alternancia

Este código crea un botón de alternancia:

f = figure; tb = uicontrol(f,'Style','togglebutton',...                 'String','Left/Right Tile',...                 'Value',0,'Position',[30 20 100 30]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican el uicontrol para que sea un botón de alternancia.'Style','togglebutton'

coloca una etiqueta de texto en el botón de alternancia.'String','Left/Right Tile'

Deselecciona el botón de alternancia de forma predeterminada.'Value',0 Para seleccionar (elevar) el botón de alternancia, establezca la misma propiedad.ValueMax Para anular la selección del botón de alternancia, establezca la misma propiedad.ValueMin De forma predeterminada, y.Min = 0Max = 1

Especifica la ubicación y el tamaño del botón de alternancia.'Position',[30 20 100 30] En este ejemplo, el botón de alternancia tiene 100 píxeles de ancho y 30 píxeles de alto. Se coloca a 30 píxeles de la izquierda de la figura y a 20 píxeles de la parte inferior.

Nota

También puede mostrar un icono en un botón de alternancia. Consulte para obtener más información.Mostrar un icono en un botón pulsador

Casilla de verificación

Este código crea una casilla de verificación:

f = figure; c = uicontrol(f,'Style','checkbox',...                 'String','Display file extension',...                 'Value',1,'Position',[30 20 130 20]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican el uicontrol para que sea una casilla de verificación.'Style','checkbox'

El siguiente par, coloca una etiqueta de texto en la casilla de verificación.'String','Display file extension'

La propiedad especifica si el cuadro está activado.Value Se establece en el valor de la propiedad (por defecto es) para crear el componente con la casilla marcada.ValueMax1 Establecer en (el valor predeterminado es) para dejar la casilla desactivada.ValueMin0 En consecuencia, cuando el usuario hace clic en la casilla de verificación, se establece en cuando el usuario marca la casilla y cuando el usuario lo desmarca.MATLAB®ValueMaxMin

La propiedad especifica la ubicación y el tamaño de la casilla de verificación.Position En este ejemplo, la casilla de verificación tiene 130 píxeles de ancho y 20 de alto. Se coloca a 30 píxeles de la izquierda de la figura y a 20 píxeles de la parte inferior.

Deslizador

Este código crea un deslizador:

f = figure; s = uicontrol(f,'Style','slider',...                 'Min',0,'Max',100,'Value',25,...                 'SliderStep',[0.05 0.2],...                 'Position',[30 20 150 30]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifica el uicontrol para que sea un control deslizante.'Style','slider'

y especifique el rango del control deslizante para que sea [0, 100].'Min',0'Max',100 La propiedad debe ser menor que.MinMax

establece la posición del control deslizante predeterminado en 25.'Value',25 El número que especifique para esta propiedad debe estar dentro del intervalo, [,].MinMax

Especifica la cantidad fraccionaria que el pulgar mueve cuando el usuario hace clic en los botones de flecha o el control deslizante (también llamado canal).'SliderStep',[0.05 0.2] En este caso, la posición de pulgar del deslizador cambia por la cantidad menor (5 por ciento) cuando el usuario hace clic en un botón de flecha. Cambia por la cantidad mayor (20 por ciento) cuando el usuario hace clic en el canal.

Especifique que sea un vector de dos elementos,.SliderStep[minor_step major_step] El valor de debe ser menor o igual que.minor_stepmajor_step Para garantizar los mejores resultados, no especifique ningún valor para que sea menor que.1e-6 El ajuste a o superior hace que el pulgar se mueva o cuando se hace clic en el canal.major_step1MaxMin

A medida que aumenta, el pulgar crece más.major_step Cuando es 1, el pulgar es la mitad de largo que el valle.major_step Cuando es mayor que 1, el pulgar continúa creciendo, acercándose lentamente a la longitud completa de la cubeta.major_step Cuando un control deslizante actúa como una barra de desplazamiento, puede usa este comportamiento para indicar cuánto del documento está visible actualmente cambiando el valor de.major_step

Especifica la ubicación y el tamaño del control deslizante.'Position',[30 20 150 30] En este ejemplo, el deslizador tiene 150 píxeles de ancho y 30 de alto. Se coloca a 30 píxeles de la izquierda de la figura y a 20 píxeles de la parte inferior.

Nota

En Mac plataformas, la altura de un deslizador horizontal está restringida. Si la altura que se establece en la propiedad supera esta restricción, la altura mostrada del control deslizante es el máximo permitido por el sistema.Position Sin embargo, el valor de la propiedad no cambia para reflejar esta restricción.Position

Texto estático

Este código crea un componente de texto estático:

f = figure; t = uicontrol(f,'Style','text',...                 'String','Select a data set.',...                 'Position',[30 50 130 30]); 

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican el uicontrol para que sea texto estático.'Style','text'

especifica el texto que se muestra.'String','Select a set' Si especifica un ancho de componente demasiado pequeño para acomodar todo el texto, envuelve el texto.MATLAB

Especifica la ubicación y el tamaño del texto estático.'Position',[30 50 130 30] En este ejemplo, el texto estático tiene 130 píxeles de ancho y 20 de alto. Se coloca a 30 píxeles de la izquierda de la figura y 50 píxeles desde la parte inferior.

Campo de texto editable

Este código crea un campo de texto editable:txtbox

f = figure; txtbox = uicontrol(f,'Style','edit',...                 'String','Enter your name here.',...                 'Position',[30 50 130 20]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican el estilo del uicontrol para que sea un campo de texto editable.'Style','edit'

, especifica el texto predeterminado que se mostrará.'String','Enter your name here'

El siguiente par, especifica la ubicación y el tamaño del campo de texto.'Position',[30 50 130 20] En este ejemplo, el campo de texto tiene 130 píxeles de ancho y 20 píxeles de alto. Se coloca a 30 píxeles de la izquierda de la figura y 50 píxeles desde la parte inferior.

Para habilitar la entrada de varias líneas, el valor de debe ser mayor que 1, como en la siguiente instrucción.Max - Min

txtbox = uicontrol(f,'Style','edit',...                 'String','Enter your name and address here.',...                 'Max',2,'Min',0,...                 'Position',[30 20 130 80]);

Si el valor es menor o igual que 1, el campo de texto editable solo permite una sola línea de entrada.Max - Min Si el ancho del campo de texto es demasiado estrecho para el texto, solo muestra una parte del texto.MATLAB El usuario puede utilizar las teclas de flecha para desplazar el cursor sobre toda la línea de texto.

Menú desplegable

Este código crea un menú emergente:

f = figure; pm = uicontrol(f,'Style','popupmenu',...                 'String',{'one','two','three','four'},...                 'Value',1,'Position',[30 80 130 20]);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican el uicontrol para que sea un menú emergente.Style,'popupmenu'

define los elementos de menú.'String',{'one','two','three','four'}

establece el índice del elemento que está seleccionado de forma predeterminada.'Value',1 Se establece en un escalar que indica el índice del elemento seleccionado.Value Un valor de 1 selecciona el primer elemento.

Especifica la ubicación y el tamaño del menú emergente.'Position',[30 80 130 20] En este ejemplo, el menú emergente tiene una anchura de 130 píxeles. Se coloca a 30 píxeles de la izquierda de la figura y 80 píxeles desde la parte inferior. La altura de un menú emergente viene determinada por el tamaño de la fuente; se ignora la altura que se establece en el vector de posición.

Cuadro de lista

Este código crea un cuadro de lista:

f = figure; lb = uicontrol(f,'Style','listbox',...                 'String',{'one','two','three','four'},...                 'Position',[30 20 130 80],'Value',1);

El primer argumento, especifica el contenedor primario.uicontrolf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican el uicontrol para que sea un cuadro de lista.'Style','listbox'

define los elementos de lista.'String',{'one','two','three','four'}

Especifica la ubicación y el tamaño del cuadro de lista.'Position',[30 20 130 80] En este ejemplo, el cuadro de lista tiene 130 píxeles de ancho y 80 de alto. Se coloca a 30 píxeles de la izquierda de la figura y a 20 píxeles de la parte inferior.

El par final de argumentos, establece la selección de lista en el primer elemento de la lista.Value,1 Para seleccionar un único elemento, establezca la propiedad en un escalar que indique la posición del elemento en la lista.Value

Para seleccionar más de un elemento, establezca la propiedad como un vector de valores.Value Para permitir que los usuarios seleccionen varios elementos, establezca los valores de las propiedades y que sean mayores que 1.MinMaxMax - Min Aquí hay un cuadro de lista que permite selecciones múltiples y tiene dos elementos seleccionados inicialmente:

lb = uicontrol(f,'Style','listbox',...                 'String',{'one','two','three','four'},...                 'Max',2,'Min',0,'Value',[1 3],...                 'Position',[30 20 130 80]);

Si no desea una selección inicial, establezca estos valores de propiedad:

  • Establezca las propiedades y las que sean mayores que 1.MaxMinMax - Min

  • Establezca la propiedad en una matriz vacía.Value[]

Si el cuadro de lista no es lo suficientemente grande para mostrar todas las entradas de lista, puede establecer la propiedad en el índice del elemento que desea que aparezca en la parte superior cuando se crea el componente.ListBoxTop

Mesas

Este código crea una tabla y la rellena con los valores devueltos por.magic(5)

f = figure; tb = uitable(f,'Data',magic(5));

El primer argumento, especifica el contenedor primario.uitablef En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Los argumentos de par nombre-valor, especifican los datos de la tabla.'Data',magic(5) En este caso, los datos son la matriz 5-by-5 devuelta por el comando.magic(5)

Puede ajustar el ancho y el alto de la tabla para acomodar la extensión de los datos. La propiedad uitable controla los límites externos de la tabla y la propiedad indica la extensión de los datos.PositionExtent Establezca los dos últimos valores de la propiedad en los valores correspondientes de la propiedad:PositionExtent

tb.Position(3) = tb.Extent(3); tb.Position(4) = tb.Extent(4); 

Puede cambiar varias características de la tabla estableciendo ciertas propiedades:

  • Para controlar la capacidad del usuario para editar las celdas de la tabla, establezca la propiedad.ColumnEditable

  • Para que la aplicación responda cuando el usuario edite una celda, defina una función.CellEditCallback

  • Para agregar o cambiar el seccionamiento de filas, establezca la propiedad.RowStriping

  • Para especificar los nombres de fila y columna, establezca las propiedades y.RowNameColumnName

  • Para dar formato a los datos de la tabla, establezca la propiedad.ColumnFormat

Consulte la lista completa de propiedades.Table Properties

Si va a compilar una aplicación mediante GUIDE, puede establecer muchas de las propiedades uitable mediante el.Table Property Editor Para obtener más información, consulte.Cree una tabla

Paneles

Este código crea un panel:

f = figure; p = uipanel(f,'Title','My Panel',...              'Position',[.25 .1 .5 .8]);

El primer argumento pasado a,,, especifica el contenedor primario.uipanelf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como otro panel o un grupo de botones.

especifica un título para mostrar en el panel.'Title','My Panel'

Especifica la ubicación y el tamaño del panel como una fracción del contenedor principal.'Position',[.25 .1 .5 .8] En este caso, el panel es el 50 por ciento de la anchura de la figura y el 80 por ciento de su altura. El borde izquierdo del panel se encuentra en el 25 por ciento del ancho de la figura desde la izquierda. La parte inferior del panel se encuentra el 10 por ciento de la altura de la figura desde la parte inferior. Si se cambia el tamaño de la figura, el panel conserva sus proporciones originales.

Los siguientes comandos agregan dos botones de inserción al panel. Establecer la propiedad para que los valores se interpreten como fracciones del panel primario.Units'normalized'Position Las unidades normalizadas permiten que los botones conserven sus proporciones originales cuando se cambia el tamaño del panel.

b1 = uicontrol(p,'Style','pushbutton','String','Button 1',...                 'Units','normalized',...                 'Position',[.1 .55 .8 .3]); b2 = uicontrol(p,'Style','pushbutton','String','Button 2',...                 'Units','normalized',...                 'Position',[.1 .15 .8 .3]);

Grupos de botones

Este código crea un grupo de botones:

f = figure; bg = uibuttongroup(f,'Title','My Button Group',...             'Position',[.1 .2 .8 .6]);

El primer argumento pasado a,,, especifica el contenedor primario.uibuttongroupf En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel u otro grupo de botones.

especifica un título para mostrar en el grupo de botones.'Title','My Button Group'

Especifica la ubicación y el tamaño del grupo de botones como una fracción del contenedor primario.'Position',[.1 .2 .8 .6] En este caso, el grupo de botones es el 80 por ciento del ancho de la figura y el 60 por ciento de su altura. El borde izquierdo del grupo de botones se encuentra en el 10 por ciento del ancho de la figura desde la izquierda. La parte inferior del grupo de botones se encuentra el 20 por ciento de la altura de la figura desde la parte inferior. Si se cambia el tamaño de la figura, el grupo de botones conserva sus proporciones originales.

Los siguientes comandos agregan dos botones de radio al grupo de botón. Establecer la propiedad para que los valores se interpreten como fracciones del panel primario.Units'normalized'Position Las unidades normalizadas permiten que los botones conserven sus posiciones relativas originales cuando se cambia el tamaño del grupo del botón.

rb1 = uicontrol(bg,'Style','radiobutton','String','Red',...                 'Units','normalized',...                 'Position',[.1 .6 .3 .2]); rb2 = uicontrol(bg,'Style','radiobutton','String','Blue',...                 'Units','normalized',...                 'Position',[.1 .2 .3 .2]);

De forma predeterminada, se selecciona el primer botón de radio agregado a uibuttongroup. Para invalidar este valor predeterminado, establezca la propiedad de cualquier otro botón de radio en su propiedad Value.ValueMax

Los grupos de botón administran la selección de botones de opción y botones de alternancia al permitir que solo se seleccione un botón dentro del grupo. Puede determinar el botón seleccionado actualmente consultando la propiedad del uibuttongroup.SelectedObject

Ejes

Este código crea un eje en una figura:

f = figure; ax = axes('Parent',f,'Position',[.15 .15 .7 .7]);

Los dos primeros argumentos pasados a la función Axes, especifican el contenedor primario.'Parent',f En este caso, el elemento primario es una figura, pero también puede especificar que el elemento primario sea cualquier contenedor, como un panel o un grupo de botones.

Especifica la ubicación y el tamaño de los ejes como una fracción de la figura principal.'Position',[.15 .15 .7 .7] En este caso, los ejes son el 70 por ciento del ancho de la figura y el 70 por ciento de su altura. El borde izquierdo de los ejes se encuentra en el 15 por ciento del ancho de la figura desde la izquierda. La parte inferior de los ejes se encuentra el 15 por ciento de la altura de la figura desde la parte inferior. Si se cambia el tamaño de la figura, los ejes conservan sus proporciones originales.

Evitar que las propiedades de ejes personalizadas se restablezcan

Funciones de representación gráfica de datos, como, y, restablecer las propiedades de los ejes antes de que se dibujen en un eje.plotimagescatter Esto puede ser un problema cuando desea mantener la coherencia de los límites de los ejes, los ticks, los colores y las características de la fuente en una interfaz de usuario.

El valor predeterminado de la propiedad Axes permite que las funciones gráficas restablezcan muchos valores de propiedad.NextPlot'replace' Además, el valor de propiedad permite eliminar todas las devoluciones de llamada de los ejes cada vez que se traza un gráfico.'replace'MATLAB Si coloca un eje en una interfaz de usuario, considere la posibilidad de establecer la propiedad en.NextPlot'replacechildren' Es posible que tenga que establecer esta propiedad antes de cambiar el contenido de un eje:

ax.NextPlot = 'replacechildren';

ControlesActiveX

componentes le permiten mostrar controles en la interfaz de usuario.ActiveXActiveX Solo están disponibles en la plataforma.Microsoft®Windows®

Un control puede ser el elemento secundario solo de una figura.ActiveX No puede ser el hijo de un grupo de paneles o de botones.

Consulte acerca de cómo agregar un control a una figura.Crear un controlActiveXActiveX Consulte para obtener información general sobre los controles.Crear objetos COMActiveX

Cómo establecer las características de fuente

Utilice la propiedad para especificar una fuente determinada para un control de interfaz de usuario, panel, grupo de botones, tabla o ejes.FontName

Utilice la función para mostrar un cuadro de diálogo que le permite elegir una fuente, estilo y tamaño a la vez:uisetfont

myfont = uisetfont

Devuelve las selecciones como una matriz de estructura:uisetfont

myfont =     struct with fields:        FontName: 'Century Schoolbook'     FontWeight: 'normal'      FontAngle: 'normal'      FontUnits: 'points'       FontSize: 9

Puede utilizar esta información para establecer las características de fuente de un componente en la interfaz de usuario:

btn = uicontrol; btn.FontName = myfont.FontName; btn.FontSize = myfont.FontSize;

Alternativamente, puede establecer todas las características de la fuente a la vez:

set(btn,myfont); 

Temas relacionados