Popup menu - Verzia pre tlač +- Matlab fórum (http://matlab.sk) +-- Fórum: Matlab (/forumdisplay.php?fid=4) +--- Fórum: GUI (/forumdisplay.php?fid=6) +--- Téma: Popup menu (/showthread.php?tid=111) |
Popup menu - fedkor - 04-02-2016 15:12 Zdravím, v GUI matlabu dělám aplikaci převodu jednotek. Pomocí pop menu1 vybírám jednotky mezi mW,W,kW,MW a pomocí pop menu2 s,ms,us,ns,ps,fs. Při výběru danné jednotky například mW se mi do proměnné x uloží hodnota 1000 a při výběru ns se uloží y=1000000000. Těmato proměnnýma bych pak chtěl vynásobit v rovnici energie = (x * handles.metricdata.vykon) * (y * handles.metricdata.sirkapulsu); čísla zadané uživatel(vykon,sirkapulsu) a pak dostat výsledek, nějak mi to ale nechce fungovat. Nevíte někdo prosím co s tím ? V příloze zasílám i fotku aplikace. Děkuji moc Zasílám celý kód aplikace: function varargout = prazdne(varargin) % PRAZDNE MATLAB code for prazdne.fig % PRAZDNE, by itself, creates a new PRAZDNE or raises the existing % singleton*. % % H = PRAZDNE returns the handle to a new PRAZDNE or the handle to % the existing singleton*. % % PRAZDNE('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PRAZDNE.M with the given input arguments. % % PRAZDNE('Property','Value',...) creates a new PRAZDNE or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before prazdne_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to prazdne_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help prazdne % Last Modified by GUIDE v2.5 02-Apr-2016 13:16:21 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @prazdne_OpeningFcn, ... 'gui_OutputFcn', @prazdne_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 % End initialization code - DO NOT EDIT function prazdne_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to prazdne (see VARARGIN) % Choose default command line output for prazdne handles.output = hObject; % Update handles structure guidata(hObject, handles); initialize_gui(hObject, handles, false); function varargout = prazdne_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function vykon_Callback(hObject, eventdata, handles) vykon = str2double(get(hObject, 'String')); if isnan(vykon) set(hObject, 'String', 0); errordlg('Zadejte cislo','Chyba'); end handles.metricdata.vykon = vykon; guidata(hObject,handles) function vykontext_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function sirkapulsu_Callback(hObject, eventdata, handles) sirkapulsu = str2double(get(hObject, 'String')); if isnan(sirkapulsu) set(hObject, 'String', 0); errordlg('Zadejte cislo','Chyba'); end handles.metricdata.sirkapulsu = sirkapulsu; guidata(hObject,handles) function sirkapulsutext_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function rollmenu1_Callback(hObject, eventdata, handles) contents1 = cellstr(get(hObject,'String')); popChoice = contents1(get(hObject,'Value')); if (strcmp(popChoice,'mW')) rollmenu1 = 1000; elseif (strcmp(popChoice,'W')) rollmenu1 = 1; elseif (strcmp(popChoice,'kW')) rollmenu1 = 0.001; elseif (strcmp(popChoice,'MW')) rollmenu1 = 0.000001; end assignin('base','x',rollmenu1); function rollmenu1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function rollmenu2_Callback(hObject, eventdata, handles) contents2 = cellstr(get(hObject,'String')); popChoice = contents2(get(hObject,'Value')); if (strcmp(popChoice,'s')) rollmenu2 = 1; elseif (strcmp(popChoice,'ms')) rollmenu2 = 1000; elseif (strcmp(popChoice,'µs')) rollmenu2 = 1000000; elseif (strcmp(popChoice,'ns')) rollmenu2 = 1000000000; elseif (strcmp(popChoice,'ps')) rollmenu2 = 1000000000000; elseif (strcmp(popChoice,'fs')) rollmenu2 = 1000000000000000; end assignin('base','y',rollmenu2); function rollmenu2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton1. function spocitej_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) energie = (x * handles.metricdata.vykon) * (y * handles.metricdata.sirkapulsu); set(handles.energie, 'String', energie); function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) initialize_gui(gcbf, handles, true); function initialize_gui(fig_handle, handles, isreset) % If the metricdata field is present and the reset flag is false, it means % we are we are just re-initializing a GUI by calling it from the cmd line % while it is up. So, bail out as we dont want to reset the data. if isfield(handles, 'metricdata') && ~isreset return; end set(handles.rollmenu1,'Value',2); set(handles.rollmenu2,'Value',1); handles.metricdata.vykon = 0; handles.metricdata.sirkapulsu = 0; set(handles.vykon, 'String', handles.metricdata.vykon); set(handles.sirkapulsu, 'String', handles.metricdata.sirkapulsu); set(handles.energie, 'String', 0); % Update handles structure guidata(handles.figure1, handles); RE: Popup menu - Eduard - 04-02-2016 19:14 Zdravim Ak to nie je tajne hodil by sa aj subor prazdne.fig... Vopred vdaka RE: Popup menu - fedkor - 04-03-2016 10:20 Tady přikladám odkaz na soubour prazdne.fig. Děkuji za odpověd https://www.dropbox.com/s/qno10y94c6e0mp5/prazdne.fig?dl=0 |