Verfasst am: 12.12.2012, 15:57
Titel: Tabelle in GUI aktualisieren
Moin, ich muss noch ein mal stören.
Ich habe in meiner MainGUI eine Button der eine weitere GUI öffnet wo sich eine Tabelle mit Werten befindet. Die Werte stammen aus einer Matrix, die ich über den Property Inspector ausgewählt habe. Es gibt noch eine weitere GUI, mit der man die Werte in dieser Matrix ändern kann. Wenn ich dann aber später wieder auf den besagten Button klicke, öffnet sich nur die Tabelle mit den Werten der Matrix die am Anfang da waren, nicht die aktuellen.(Er überprüft nicht ob die Matrix verändert wurde)
Gibt es eine Möglichkeit Matlab zu sagen, das jedes mal wenn ich die GUI öffne, überprüft werden soll ob sie die Werte in der Matrix geändert haben und diese dann gegebenfalls in die Tabelle schreibt?
Es reicht ja ein Befehl, der der GUI sagt welche Daten in der Tabelle dargestellt werden soll aber selbst da finde ich nichts was funktioniert.
wenn du deine GUI öffnest und nicht dafür sorgst, dass in der openingfcn deine Guielemente gesetzt werden, dann passiert da auch nix von alleine. Eine Uitable kann man mit z.B.
wenn du deine GUI öffnest und nicht dafür sorgst, dass in der openingfcn deine Guielemente gesetzt werden, dann passiert da auch nix von alleine. Eine Uitable kann man mit z.B.
Hallo Marco, danke für den Tipp aber so kriege ich es nicht zum Laufen. Wenn ich den ersten Codeabschnitt in meine HauptGUI schreibe, gibt er mir den Fehler aus, dass uitable1 nicht vorhanden ist. Die wird ja auch nur nur erstellt wenn auf den Push-Button gedrückt wird, der die dann öffnet.
Es soll ja so sein, dass ich falls in dem Programm auf den Button gedrückt wird, Matlab sich die Daten aus der vorhandenen Matrix zieht und die dann in eine Tabelle schreibt, die dann in der zweiten GUI dargestellt wird. Ich hab den Code soweit, das ich nur noch der Tabelle sagen muss, nehm die aktuellen Werte aus der Matrix XYZ. Man kanns ja über "Guide" Manuell auswählen, welche Daten aus welcher Matrix kommen sollen, jedoch aktuallisiert matlab die Daten nicht.
Hey,
Das mein angegebener Code zu einer Fehlermeldung führt ist klar, da ich nicht weiß wie du deine Objekte nennst (also den Tag). Uitable1 ist der standardmäßig den Guide bei seiner ersten Tabelle vorschlägt. Da musst du halt deinen Tag als Feldnamen einsetzen. In Guide setzt man immer nur den Anfangswert. Automatisch passiert hier nix...
Es wäre sicher hilfreicher wenn du hier ein beispielcode oder ein abgestecktes lauffähiges Programm postest indem man sehen kann was du bis jetzt gemacht hast...
Hey,
Das mein angegebener Code zu einer Fehlermeldung führt ist klar, da ich nicht weiß wie du deine Objekte nennst (also den Tag). Uitable1 ist der standardmäßig den Guide bei seiner ersten Tabelle vorschlägt. Da musst du halt deinen Tag als Feldnamen einsetzen. In Guide setzt man immer nur den Anfangswert. Automatisch passiert hier nix...
Es wäre sicher hilfreicher wenn du hier ein beispielcode oder ein abgestecktes lauffähiges Programm postest indem man sehen kann was du bis jetzt gemacht hast...
Greetings
Das es so heißen muss wie die Tabelle hab ich mir schon gedacht, nur trotzdem gehts irgendwie nicht Hab euch mal ein abgespecktes Programm hochgeladen. Die Tabelle zeigt die Daten der Matrix an, wenn ich jetzt aber die Daten in der Matrix ändere, erfolgt dies nicht in der Tabelle.
Hey,
also, dass was du hochgeladen hast sind einfach nur Files, die du mit GUIDE erstellt hast. Du rufst lediglich über den Pushbutton Callback die GUI der Tabelle auf. Des Weiteren ist mir auch nicht klar warum du eine weitere Datei mit einer Beispielmatrix hinzugefügt hast. Ich verstehe sowieso nicht genau was du mit der GUI bezwecken willst. Man kann die Daten auch direkt in einer selbst geschriebenen GUI mit Tabelle editieren und weiterverarbeiten. Dann spart man sich den unschönen Weg über assignin evalin etc... Ich denke so wie du es machen wolltest würde es wie folgt zum Ziel führen:
Code:
% Main GUI-------------------------------------------------------------- % --- Executes on button press in pushbutton1. function pushbutton1_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) try
TabelleGUI(evalin('base','TestMatrix'));
catch
TabelleGUI(load('TestMatrix.mat'));
end
% TabelleGUI---------------------------------------------------------------- % --- Executes just before TabelleGUI is made visible. function TabelleGUI_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 TabelleGUI (see VARARGIN)
set(handles.uitable1,'Data',varargin{1}) % Choose default command line output for TabelleGUI
handles.output = hObject;
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.