Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

MATLAB & Simulink Student Suite Studentenversion R2018b

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Drag and Drop von Figure im App Desinger

 

VicentVega
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 07.05.20
Wohnort: nähe FFM
Version: ---
     Beitrag Verfasst am: 29.05.2020, 10:05     Titel: Drag and Drop von Figure im App Desinger
  Antworten mit Zitat      
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:
Code:
function drag_drop

dragging = [];
orPos = [];
f = figure('WindowButtonUpFcn',@dropObject,'units','normalized','WindowButtonMotionFcn',@moveObject);
g = [0:1:100]
plot (g, 'ButtonDownFcn',@dragObject);
a = annotation('textbox','position',[0.2 0.2 0.2 0.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) 0 0]);
            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) 0 0]);
        end
    end
end


Bitte habt ein wenig nachsicht mit mr, ist mein erstes Projekt mit Matlab Smile

vielen Dank schonmal !
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 22.990
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2020, 10:45     Titel:
  Antworten mit Zitat      
Hallo,

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?

Eine relativ einfache und meines Erachtens schöne Möglichkeit ist Auto-Reflow:
https://www.mathworks.com/help/matl.....pps-with-auto-reflow.html

Ansonsten siehe auch:
https://de.mathworks.com/matlabcent.....op-in-matlab-app-designer

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
VicentVega
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 07.05.20
Wohnort: nähe FFM
Version: ---
     Beitrag Verfasst am: 03.06.2020, 09:16     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 22.990
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.06.2020, 09:32     Titel:
  Antworten mit Zitat      
Hallo,

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
VicentVega
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 07.05.20
Wohnort: nähe FFM
Version: ---
     Beitrag Verfasst am: 03.06.2020, 09:55     Titel:
  Antworten mit Zitat      
Hallo,

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.

grüße,
jonas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 22.990
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.06.2020, 10:07     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
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 ;)
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2021 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.