<< Chapter < Page Chapter >> Page >

X=handles.x

Código asociado a cada elemento del gui

Automáticamente al crear el GUI y salvarlo aparece en el archivo .m una cantidad de líneas de código fijas.

En la primera parte del script aparece una cantidad de líneas de código fijo. La primera instrucción "function varargout = untitled(varargin)" indica que se está creando un GUI de nombre “untitled” con argumentos de salida “varargout” y argumentos de entrada “varagin”. Solo se muestran las dos primeras y la última línea.

Código generado al crear y guardar el GUI

Aquí comienza un código de inicialización que se pide no se edite. También se muestra solo la primera y última línea.

Código fijo de inicialización

Hasta aquí llega el código de inicialización. Comienza entonces lo que se desea que ocurra antes de que el GUI se haga visible.

Función OpeningFCN para un programa de nombre "untitled"

Luego de esto aparecen callback dependiendo de las herramientas que se han incorporado al GUI. Por ejemplo:

Espacio de trabajo ya con varios elementos

Aquí se han colocado 3 Radio Button, 1 Push Button, un Pop-Up menú y 1 eje para graficar.

A continuación se describen brevemente las herramientas disponibles, el código automático asociado a cada una de ellas y como interactuar con las mismas.

Botón pushbutton

Se ejecuta una determinada acción cuando son presionados. En el archivo .m aparecen automáticamente un grupo de instrucciones asociadas a él.

Callback para elemento de tag "pushbutton1"

Listas de selección

Aquí se puede colocar una lista de elementos para que el usuario pueda seleccionar alguno. En el archivo .m aparecen automáticamente un grupo de instrucciones asociadas a él.

Parte del código generado por elemento de tag "listbox1"
Callback para elemento de tag "listbox1"

Como se observa en la ayuda (Hint) que aparece en las dos últimas líneas, si dentro del callback de este elemento se coloca la instrucción “A=get(hObject,'String')”, se obtendrá un número que indica que selección se hizo. Por ejemplo si se seleccionó el tercer elemento de la lista, A valdrá 3. Lo mismo puede lograrse con la instrucción “A=get(handles.listbox1,'Value')”, donde “listbox1” es el tag de este elemento. La ventaja de esta instrucción es que no tiene obligatoriamente que ser llamada desde el callback del elemento.

Botón edit

Permite a los usuarios ingresar o modificar parámetros que se quieren introducir.

Callback para elemento de tag "edit1"

Obsérvese la ayuda (HINT). Si dentro del callback de este elemento se coloca la instrucción “A=str2double(get(hObject,'String'))”, entonces, se podrá tener en A el valor del número que se escribió en la casilla

Si dentro del callback se coloca la instrucción “A= get(hObject,'String')”, se podrá almacenar en A los caracteres escritos

Una forma más recomendable de almacenar en una variable A el contenido de la casilla es con la instrucción “A= get(handles.edit1,'String')”, donde “edit1” es el tag del botón. Esta instrucción puede ser colocada en otro callback que no sea el del botón o incluso en la función OpeningFCN de la figura 9. Si se desea acceder al valor numérico escrito en la casilla, se hace uso de la instrucción “A=str2double(get(handles.edit1,'String'))”.

Si se desea colocar el valor de la variable A en la casilla, se hace uso de la instrucción “set(handles.edit1,'String',A)”

Botón radiobutton

Son botones de selección. Si hay varios generalmente son mutuamente excluyentes. Para seleccionarlo basta ubicarse y presionar el ratón.

Callback para elemento de tag "radiobutton1"

Colocándose dentro de callback del elemento la instrucción “A=get(hObject,'Value')”, A valdrá 1 si el botón fue seleccionado, y 0 en caso contrario. Lo mismo puede lograrse con la instrucción “A=get(handles.radiobutton1,'Value')”, donde “radiobutton1” es el tag de este elemento. La ventaja de esta instrucción es que no tiene obligatoriamente que ser llamada desde el callback del elemento.

Ejes para graficar

Aquí no se genera nada especial en el archivo .m, pero uno debe fijar las condiciones de la gráfica y activarla o desactivarla según convenga.

Por ejemplo si la gráfica tiene asociado el nombre de axes1 (tag) y se quiere mostrar algo a través de la misma por medio de la instrucción "plot(...)" se debe agregar primero el comando "axes" como se muestra a continuación:

axes(handles.axes1);
plot(...)

Cuando se hace click despliega opciones. Para agregar elementos a la lista, en el editor de propiedades se busca el elemento string y allí se coloca la lista de las opciones.

Parte del código generado por elemento de tag "popupmenu1"
Callback para elemento de tag "popupmenu1"

Si se coloca dentro del callback de este elemento la instrucción “A=get(hObject,'Value')”, se obtendrá un número que indica que selección se hizo. Por ejemplo si se seleccionó el tercer elemento de la lista, A valdrá 3. Lo mismo puede lograrse con la instrucción “A=get(handles.popupmenu1,'Value')”, donde “popupmenu1” es el tag de este elemento. La ventaja de esta instrucción es que no tiene obligatoriamente que ser llamada desde el callback del elemento.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Señales y sistemas en matlab y labview. OpenStax CNX. Sep 23, 2011 Download for free at http://cnx.org/content/col11361/1.4
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Señales y sistemas en matlab y labview' conversation and receive update notifications?

Ask