Softwareentwickler MATLAB/Simulink (w/m) Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLinkdSPACE GmbH - Paderborn
Verfasst am: 13.07.2011, 13:43
Titel: GUIDE GUI in objectorientiertes Programm einfügen
Hallo!
Ich will eine GUI mit GUIDE erstellen.
Das erzeugte .m file würde ich gerne in eine Klasse einfügen,
aber die Editierbarkeit über den GUIDE soll erhalten bleiben.
Ich habe dazu einfach eine Klasse mit externen Methoden angelegt.
Also einen Ordner mit @myGUI und darin die Klasse myGUI die im Konstruktor dann die automatisch generierte Methode/Funktion vom GUIDE mit obj.handles = obj.GUI aufruft.
Somit started ja die GUI dann automatisch wenn die Klasse myGUI erzeugt wird.
Nur bekomme ich dann immer folgende Fehler:
Zitat:
??? Undefined function or method 'GUI' for input arguments of
type 'char'.
Error in ==>
@(hObject,eventdata)GUI('edit1_CreateFcn',hObject,eventdata,guidata(hObject))
??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn
Hat jemand eine Idee was ich falsch mache?
Die GUI started aber.
Wie integriert ihr sinnvoll eine GUIDE GUI in die Objektorientierung?
da prallen meines Erachtens zwei verschiedene Ideen aufeinander.
GUIDE ist so angelegt, dass die GUI jedes Mal neu aufgerufen wird, sobald sich etwas in ihr ändert. Ein Konstruktor für ein Objekt wird aber in der Regel nur einmal aufgerufen, wenn das Objekt initialisiert wird. Das passt also - meines Erachtens - nicht wirklich zusammen.
ich will nicht sagen, dass es nicht funktioniert. Eher, dass ich mir nicht vorstellen kann, dass es funktioniert.
Wenn du die GUI programmatisch (das meinst du wohl mit "händisch") erstellt, kann ich mir das dagegen sehr gut vorstellen.
Wenn du bei GUIDE bleiben willst, würde ich das so aufziehen:
- GUI und Klasse separat
- Konstruktor der Klasse öffnet GUI. Das Objekt wird in der GUI hinterlegt, z.B. mit getappdata/setappdata.
- Durch die Callbacks werden Methoden auf das Objekt angewendet.
Dabei gehe ich davon aus, dass du mit einem Objekt pro GUI arbeitest. Aber das sollte sich auch erweitern lassen, wenn du mit mehreren Objekten arbeiten möchtest.
Irgendwie habe ich das Gefühl, dass es dann eine "dirty" Lösung wird.
Habe es gerade Probiert. Also ich kann das Automatisch generierte File dann einfach aufrufen. Das funktioniert auch soweit.
Muss mal schaun ob ich dann die Callbacks in die Klasse bekomme.
Naja werde noch weitertesten.
ABer wenn jemand noch eine Idee hat wie man das elegant löst, dann her damit!
godi
Options and Permissions
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.