Matlab - Modificar nombre Menú

 
Vista:

Modificar nombre Menú

Publicado por Lore (4 intervenciones) el 07/05/2012 00:06:33
Hola a todos, tengo una aplicación GUI en el que hay un Menú (hecho en Menu editor y con tag "herramientas") en el que tengo la pestaña HERRAMIENTAS.

Me gustaría, que al pulsar un botón, me aparezca en ese Menú en lugar de HERRAMIENTAS-->TOOLS

En el callback del botón, he puesto
set(handles.herramientas,'Label','TOOLS');

Pero me da error en que no conoce ningún handles.herramientas

¿Se podrá modificar las opciones del menú?

Gracias a quien me pueda ayudar a resolver esta pequeñita duda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Modificar nombre Menú

Publicado por Lore (4 intervenciones) el 09/05/2012 00:53:44
Hola Jose Jeremías, gracias por haberme respondido. Sin embargo, la solución que me ha propuesto no me ha servido. De todas maneras, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar nombre Menú

Publicado por Lore (4 intervenciones) el 09/05/2012 01:02:11
Hola de nuevo, ahora sí que me funciona lo de:

set(handles.herramientas,'Label','Tools')

Lo que ocurre, es que no he querido explicar todo porque quería preguntar por algo sencillo y ver sí podía resolver mi problema yo misma. Tengo un botón, en el que seleccionas si la GUI la quieres ver en inglés o en castellano. Las palabras que aparezcan en la GUI (como Herramientas, Continuar, Calcular, Tools, Next, Calculate) las tengo almacenadas en dos variables que obtengo de un archivo excel:


[~,~,terminos_idioma]=xlsread('idiomas.xlsx');

terminos_idioma=
[ Herramientas Tools; Continuar Next; Calcular Calculate];

Según pulsas inglés o castellano, te quedas con una de las dos columnas. Por lo tanto, si escoges inglés, lo que yo quiero poner es:

set(handles.herramientas,'Label',terminos_idioma(1,2))

Me da error porque terminos_idioma(1,2) no es un String.

Espero haberme explicado bien y siento no haber contado todo esto del principio, pero lo hice para no enrollarme y que se entendiese fácil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Modificar nombre Menú

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/05/2012 03:08:48
Hola Lore.
Eso uno de grandes problema que hay en el foro. Dan muy poca información cuando hacen sus preguntas en el foro, luego cuando le damos una sugerencia y o una respuesta estan descontentos.
Si quieres una respuesta acertada, entonces debes brindar toda la informacion posible,cuando haces tu pregunta. Porque uno no es adivino para saber como está hecho tu codigo.
Bueno si deseas, enviame tu codigo a mi correo, para verlo y darte una respuesta más precisa.
Sino te quedaras con tu pregunta abierta, y si algunos personas te dieran una sugerencias o ideas de seguro no va a ser lo quieres en concreto, porque contestar una pregunta a nivel no es tan sencillo. Depende de muchos aspectos.
Ademas cuando yo te respondo, te pongo, debería ser y no digo que es así.
Muchas gente no da mucha información cuando hace una pregunta en el foro, porque simplemente no desean compartir lo que estan haciendo, pero eso tiene un precio, que casi nunca tienen una respuesta acertada a sus preguntas, y la genta que brinda mucha informacion cuando hace su pregunta, por lo general tienen una respuesta acertada a sus preguntas y están contentos.




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar nombre Menú

Publicado por Lore (4 intervenciones) el 10/05/2012 15:58:04
Hola, Jose Jeremías tienes toda la razón. Si hubiese empezado explicando todo desde el principio se habría entendido mejor todo. Si no le molesta, le enviaré un correo con mi GUI para que así se pueda entender mejor.

Muchas gracias por sus consejos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Modificar nombre Menú

Publicado por JOSE JREMIAS CABALLERO (5917 intervenciones) el 11/05/2012 15:46:47
Hola Lore.
Si tu pregunta hubiera sido: " quiero al hacer clic en la bandera española, todo los textos del guide me salgan en español y cuando haga clic en la bandera de norteamerica todo los textos me guide me salgan en ingles". Al toque te hubiera respondido tu pregunta, mas me he demorado en decifrar tu pregunta, que ver el error del codigo, despues de tanto leer y leer y tanto ejecutar y ejecutar, al final me di cuenta que es lo querias hacer. Y no pasó mas de 1 minuto para ver el error y arreglarlo.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function varargout = programa_calculo(varargin)
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @programa_calculo_OpeningFcn, ...
                   'gui_OutputFcn',  @programa_calculo_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
 
function programa_calculo_OpeningFcn(hObject, ~, handles, varargin)
global idioma terminos_idioma
if idioma==1
    palabras=terminos_idioma(2:end,1);
 
elseif idioma==2
    palabras=terminos_idioma(2:end,2);
end
 
set(handles.calcular,'String',palabras(2));
set(handles.dibujar,'String',palabras(3));
set(handles.herramientas,'Label',cell2mat(palabras(4)));
set(handles.opciones,'Label',cell2mat(palabras(5)));
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = programa_calculo_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function calcular_Callback(hObject, eventdata, handles)
function dibujar_Callback(hObject, eventdata, handles)
function opciones_Callback(hObject, eventdata, handles)
function herramientas_Callback(hObject, eventdata, handles)



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar