|
|
GUIDE GUI in objectorientiertes Programm einfügen |
|
godi |
Forum-Fortgeschrittener
|
|
Beiträge: 52
|
|
|
|
Anmeldedatum: 25.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2011, 12: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?
godi
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.07.2011, 13:48
Titel:
|
|
Hallo,
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.
Grüße,
Harald
|
|
|
godi |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 52
|
|
|
|
Anmeldedatum: 25.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2011, 14:00
Titel:
|
|
Hallo Harald!
Also funktioniert das garnicht das ich die GUI mit GUIDE für Objektorientierte Programme erstelle?
Das heißt die GUI "händisch" Programmieren?
Ich wollte eigentlich das Tabpanel Programm verwenden um Registerkarten zu erstellen.
Da muss ich mir wohl was anderes enfallen lassen.
godi
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.07.2011, 14:06
Titel:
|
|
Hallo,
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.
Grüße,
Harald
|
|
|
godi |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 52
|
|
|
|
Anmeldedatum: 25.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2011, 14:25
Titel:
|
|
Hmmm...
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
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|