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

Ranking erstellen mit Radiobuttons

 

Mariana
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.11.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2018, 15:18     Titel: Ranking erstellen mit Radiobuttons
  Antworten mit Zitat      
Hallo!
Ich möchte per GUI den User eine Art "Ranking" festlegen lassen.
Also zum Beispiel bekommt der User 3 Bilder und er soll sie dann nach Gefallen sortieren.
Ich stelle mir das ungefähr so vor, dass die drei Bilder zu sehen sind und darunter
Button Groups mit je 3 Buttons (1., 2., 3.). Der User wählt dann pro Bild eine "Platzierung" aus. Gefällt ihm Bild 1 am besten, würde er dann in der Button Group den Radiobutton "1." auswählen usw.
Am Ende drückt er den Push Button "OK" und diese Platzierungen werden dann abgespeichert. Ich bin leider absoluter GUI Neuling und entschuldige mich deshalb im Voraus für blöde Fragen.

Wie kann ich zu jeder Button Group den ausgewählten Radio Button abspeichern?
Ich habe es schon mit gco und Selected Object probiert aber ich setze die Befehle wahrscheinlich an die falsche Stelle.

Ich möchte im Prinzip nach Drücken des Push Buttons einen Vektor mit:
Bild 1 1.
Bild 2 3.
Bild 3 2.

Wie kann ich das realisieren?
Vielen Dank im Voraus für eure Hilfe.
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: 09.11.2018, 16:30     Titel:
  Antworten mit Zitat      
Hallo,

wie hast du die Oberfläche erstellt?
Ist die Anzahl der Bilder fest oder variabel?

Mit uicontrol, GUIDE oder App Designer? Meine Empfehlung wäre generell letzteres. Falls die Anzahl der Bilder variabel ist, bleibt aber meines Wissens erstmal nur der Weg über uicontrol. Dann würde ich aber ohnehin eher eine Listbox und zwei Pushbuttons verwenden, mit denen ein ausgewähltes Bild im Ranking nach oben oder unten verschoben werden kann.

Grundsätzlich bitte immer den Code zeigen, den du versucht hast. Eine kleine Korrektur vorzunehmen ist oft einfacher als von vorne herumzuprobieren.

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
 
Mariana
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.11.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2018, 08:31     Titel:
  Antworten mit Zitat      
Danke schonmal für die Antwort!
Ich habe Guide verwendet bzw. habe ich ja bis auf die Button Platzierung sowieso noch nicht wirklich was gemacht (habe also nur den automatisiert erstellten Code, soll ich den trotzdem posten?).
Die Anzahl der Bilder ist mehr oder weniger variabel, einmal sollen es 3, einmal 4 sein.
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: 12.11.2018, 08:52     Titel:
  Antworten mit Zitat      
Hallo,

meine Empfehlung wäre dann wie gesagt App Designer, da in vieler Hinsicht intuitiver.

Bei GUIDE müsste der Code in die SelectionChangedFcn der Button Groups, und dort die Eigenschaft Value abfragen.
Wenn es mal 3, mal 4 Bilder sind, sehe ich höchstens die Möglichkeit, die 4. Button Group auf unsichtbar zu setzen.

Aber wie gesagt:
Falls die Anzahl der Bilder variabel ist, würde ich eher eine Listbox und zwei Pushbuttons verwenden, mit denen ein ausgewähltes Bild im Ranking nach oben oder unten verschoben werden kann.

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
 
Mariana
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.11.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2018, 10:37     Titel:
  Antworten mit Zitat      
Ich habe es jetzt erstmal so gemacht und es funktioniert an sich auch, ich bekomme genau das Ergebnis, das ich möchte, wenn ich Schritt für Schritt durch den Code gehe.
Jetzt würde ich aber gerne als Output des pushbutton Callbacks die
A = 1.
B = 2.

usw. abspeichern aber wenn ich den Callback separat aufrufe, klappt das nicht.
Ich weiß, dass Variablen nur lokal innerhalb der jeweiligen Funktion existieren aber wie kann ich nach dem Pushbutton einen Vektor mit den Ergebnissen "behalten"?

Code:

% --- Executes on button press in pushbutton9.
function [a, b, c, d] = pushbutton9_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton9 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

set(handles.edit1,'String',get(handles.edit2,'String'));


switch get(get(handles.uibuttongroup2,'SelectedObject'),'Tag')
    case 'radiobutton17',  a = 'A = 1.';
    case 'radiobutton18',  a = 'A = 1.';
    case 'radiobutton19',  a = 'A = 1.';
    case 'radiobutton20',  a = 'A = 1.';
 
end

switch get(get(handles.uibuttongroup9,'SelectedObject'),'Tag')
    case 'radiobutton33',  b = 'B = 1.';
    case 'radiobutton34',  b = 'B = 2.';
    case 'radiobutton35',  b = 'B = 3.';
    case 'radiobutton36',  b = 'B = 4.';
   
end

switch get(get(handles.uibuttongroup10,'SelectedObject'),'Tag')
    case 'radiobutton37',  c = 'C = 1.';
    case 'radiobutton38',  c = 'C = 2.';
    case 'radiobutton39',  c = 'C = 3.';
    case 'radiobutton40',  c = 'C = 4.';
 
end

switch get(get(handles.uibuttongroup11,'SelectedObject'),'Tag')
    case 'radiobutton41',  d = 'D = 1.';
    case 'radiobutton42',  d = 'D = 2.';
    case 'radiobutton43',  d = 'D = 3.';
    case 'radiobutton44',  d = 'D = 4.';
 
end

 
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: 12.11.2018, 12:32     Titel:
  Antworten mit Zitat      
Hallo,

hier sind verschiedene Möglichkeiten aufgeführt:
https://www.mathworks.com/help/matl.....data-among-callbacks.html
Meine bevorzugte: Application Data.

Grüße,
Harald

P.S.: mit App Designer wäre das einfacher.
_________________

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
.





 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.