Verfasst am: 02.07.2012, 14:18
Titel: Infofenster im Gui öffnen
Ich habe eine funktionierende GUI. In der habe ich ein Popupmenü mit einem Editor verbunden. In dem Popupmenü kann ich verschiedene Informationen abrufen. Klicke ich dort "Vulkane" an, erscheint die Info darüber im Editor. Klicke ich "Magma" an, erscheint diese Info.
Wegen Platzmangel, würde ich die Information gerne in einem extra Fenster erscheinen lassen. Wie mache ich das?
Also es soll sinngemäß so zugehen, dass ich auf "Vulkane" im Popupmenü klicke und sich dann ein Fenster öffnet, in dem die Information niedergeschrieben ist. Dieses Fenster muss man dann auch wieder schließen können.
Ich finde nichts im Forum oder der Hilfe. Allerdings weiss ich auch nicht genau, unter welchem Begriff ich suchen soll.
Im Anhang ist mein Programm, falls das nicht verständlich sein sollte, was ich hier will.
Vielen Dank im voraus.
Verfasst am: 02.07.2012, 16:00
Titel: Re: Infofenster im Gui öffnen
Hallo maze,
Ich verstehe das Problem noch nicht. Du hast bereits den Code, um ein EDIT-Feld im aktuellen Fenster zu benutzen. Nun möchtest Du das EDIT-Feld aber in einem neuen Fenster öffnen - richtig?
Dann öffen zunächst ein neues Fenster mit "figure()" und erstelle darin Dein EDIT-Feld: "Edit H = uicontrol('Style', 'edit')". Schließlich kannst Du dorthin schreiben, indem Du den Handle "EditH" verwendest.
Hilft das bereits? Wenn nicht, erkläre bitte noch mehr Details.
es ist genauso, wie Du es verstanden hast. Allerdings benutze ich GUIDE und arbeite nicht mit uicontrol und ähnlichem. Deswegen weiß ich nicht, wie ich die Verbindung zwischen dem Fenster, property instructor und guide hinbekommen kann?
ok, da noch keine antwort gekommen ist, ist das vielleicht doch unverständlich und ich schreibe hier nochmal den teil des codes rein, wo ich die verbindung zwischen popupmenue und editor habe.
mein handle vom editor heißt "info".
im popupemenue kann man 5 verschiedene Informationen abrufen.
mit dem unten angebeben code erhalte ich in einem editor, der auch in der gui enthalten ist, immer den betreffenden text. dieses editfenster ist immer da.
ich möchte nun aber, dass jede einzelne dieser informationen in einem extra aufpoppenden fenster erscheinen, nachdem ich im popupmenue eine variable angeklickt habe. Drücke ich also den ersten fall, erscheint ein fenster mit dem text "Die Erde besteht aus einem Erdkern, einem Erdmantel und der Erdkruste.". Wähle ich den zweiten Fall, erhalte ich den text "Magma (das heisst in der griechischen Sprche geknetete Masse) heißt die Masse aus Gesteinsschmelze" u.s.w. mit einem "close"-button möchte ich das fenster dann wieder schließen können.
Ich weiss, wie das mit questdgl und so geht, aber ich weiss nicht, wie ich das im GUI mit der Verbindung popupmenu hinbekommen kann?
Code:
function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1
switch v
case1 set(handles.info,'String','Die Erde besteht aus einem Erdkern, einem Erdmantel und der Erdkruste.');
case2 set(handles.info,'String','Magma (das heisst in der griechischen Sprche geknetete Masse) heißt die Masse aus Gesteinsschmelze.');
case3 set(handles.info,'String','Ein wichtiger Faktor beim Aufstieg von Magma sind Gase.');
case4 set(handles.info,'String','der Radius darf natürlich auch nicht vergessen werden');
otherwise set(handles.info,'String','die Geschwindigkeit ist nur drin');
end
wenn du nur Information zeigen möchtest nutzte dazu z.B MSGBOX:
dazu muss nur die Nachricht, welche angezeigt werden soll, übergeben
Code:
function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1
switch v
case1
msg ='Die Erde besteht aus einem Erdkern, einem Erdmantel und der Erdkruste.';
case2
msg = 'Magma (das heisst in der griechischen Sprche geknetete Masse) heißt die Masse aus Gesteinsschmelze.';
case3
msg = 'Ein wichtiger Faktor beim Aufstieg von Magma sind Gase.';
case4
msg = 'der Radius darf natürlich auch nicht vergessen werden';
otherwise
msg ='die Geschwindigkeit ist nur drin';
end msgbox(msg,'Info','help')
Perfekt. Funktioniert, so wie ich mir das vorgestellt habe.
Vielen Dank.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.