Verfasst am: 29.05.2020, 09:05
Titel: Drag and Drop von Figure im App Desinger
Guten Tag,
ich möchte in meiner GUI, welche Fahrzeugdaten, bspw. geschwindigkeit und beschleunigung darstellt, die einzelnen Figure per Drag and Drop verschieben können.
Damit der Benutzer die Figure sich so hinschieben kann wie er möchte. Die GUI wurde im App desingner erstellt. Habe auch schon einen bsp. code gefunden aber konnte mit dem nicht so viel anfangen aber ich stell ihn euch trotzdem mal rein:
dragging = [];
orPos = [];
f = figure('WindowButtonUpFcn',@dropObject,'units','normalized','WindowButtonMotionFcn',@moveObject);
g = [0:1:100] plot(g, 'ButtonDownFcn',@dragObject);
a = annotation('textbox','position',[0.20.20.20.2],'String','Hello','ButtonDownFcn',@dragObject);
function dragObject(hObject,eventdata)
dragging = hObject;
orPos = get(gcf,'CurrentPoint');
end function dropObject(hObject,eventdata) if ~isempty(dragging)
newPos = get(gcf,'CurrentPoint');
posDiff = newPos - orPos;
set(dragging,'Position',get(dragging,'Position') + [posDiff(1:2)00]);
dragging = [];
end end function moveObject(hObject,eventdata) if ~isempty(dragging)
newPos = get(gcf,'CurrentPoint');
posDiff = newPos - orPos;
orPos = newPos;
set(dragging,'Position',get(dragging,'Position') + [posDiff(1:2)00]);
end end end
mir ist die Frage nicht ganz klar. Eine App besteht aus genau einer Figure, die verschiedene Elemente enthält. Sollen also die in der App enthaltenen Elemente verschoben werden oder was genau?
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ja genau, ich kenne mich nciht ganz mit den Begriffen aus. Also in meiner GUI werden verschiedene Graphen dargestellt z.b. Geschwindigkeit, Beschleunigung, etc. und ich möchte das der Benutzer die verschiedenen Graphen sich so anordnen kann wie er möchte per Drag and Drop.
Der erste link den sie mir geschickt haben behandelt glaube ich nicht ganz mein Problem und der zweite führt zu dem Code den ich schon verwende, nur weiß ich nicht wie ich in so um biegen kann, dass ich damit die graphen in meiner GUI verschieben kann.
bitte die App aus dem Link runterladen und ansehen. Das ist ein fertiges Beispiel.
Ob sich dieser Ansatz auch auf fertige App-Komponenten übertragen lässt, weiß ich nicht. Das kommt auf einen Versuch an. Eine andere Möglichkeit kenne ich nicht.
Generell würde ich sagen, dass die Frage eher ungewöhnlich ist. Warum sollte der Nutzer die Elemente munter hin und her schieben wollen? Das kenne ich so von keiner Web-Seite oder App.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
ich hoffe wirklich das ich sie damit nicht nerve aber wie gesagt ich kenne ich nicht so mit dem umgang von matlab und alles dazugehörige aus, darf ich einfach diesen code runter laden und verwenden? Zudem will mathworks das ich mich dafür anmelde und ich weis nicht ob ich das mit meiner Hochschullizens darf.
Unsere Aufgabe ist es eine GUI zu Veranschaulichung der Fahrzeug- bzw. Fahrerdaten darzustellen und wir möchten dem Benutzer die Möglichkeit geben die sich die Graphen so zurecht zu ziehen wie er das möchte. Zudem gibt es eine Laborleiteranschicht und eine Probandenansicht. Für die jeweils andere Graphen interessanter sind z.b. denke ich nicht das der Proband sich sehr für die einzelnen Radgeschwindigkeiten interessiert aber für den Laborleiter könnte das durchaus interessant sein.
darf ich einfach diesen code runter laden und verwenden?
Runter laden: ja.
Verwenden: die Bedingungen dafür stehen in der license.txt in der zip-Datei.
Zitat:
Zudem will mathworks das ich mich dafür anmelde und ich weis nicht ob ich das mit meiner Hochschullizens darf.
Meines Wissens darfst du. Wenn du einen MathWorks Account hast, verwende den. Wenn du keinen hast, kannst du kostenfrei einen anlegen.
Zitat:
wir möchten dem Benutzer die Möglichkeit geben die sich die Graphen so zurecht zu ziehen wie er das möchte.
Das habe ich verstanden. Die Frage ist, wie leicht das umsetzbar ist. Das müsstest du anhand der Vorlage ausprobieren.
Zitat:
Zudem gibt es eine Laborleiteranschicht und eine Probandenansicht.
Das könnte man über zwei Tabs regeln oder über eine Checkbox. Eine Notwendigkeit für Drag & Drop sehe ich da nicht.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.