WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

GUIDE GUI in objectorientiertes Programm einfügen

 

godi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 52
Anmeldedatum: 25.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2011, 12:43     Titel: GUIDE GUI in objectorientiertes Programm einfügen
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.07.2011, 13:48     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
godi
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 52
Anmeldedatum: 25.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2011, 14:00     Titel:
  Antworten mit Zitat      
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. Sad

godi
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.07.2011, 14:06     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
godi
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 52
Anmeldedatum: 25.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2011, 14:25     Titel:
  Antworten mit Zitat      
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! Wink

godi
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.