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

Pop-up Menü --> User soll Wert eingeben können

 

joanna
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.06.2010, 12:18     Titel: Pop-up Menü --> User soll Wert eingeben können
  Antworten mit Zitat      
Hallo.

Leider hab ich zu meiner Frage nichts gefunden, oder ich habe einfach mit den falschen Schlagwörtern gesucht...

Also ich habe ein GUI mit verschiedenen Komponenten.
Unter anderem soll für den User an einer Stelle eine Auswahlmöglichkeit bestehen, wobei nur verschiedene Zahlen ausgewählt werden. Mit der gewählten Zahl wird dann weitergerechnet.
An sich ist das kein Problem, aber ich möchte zusätzlich ein leeres Feld in meinem Pop-up Menü haben, wo dann der User einen Wert eingeben kann, der ggf noch nicht als Auswahl zur Verfügung steht.

Ist sowas überhaupt möglich?
Oder wenn das nicht mit einem Pop-up Menü geht, geht das mit einer Reihe von Radio Buttons oder Check Boxen oder einer ganz anderen Möglichkeit?

Ich hoffe, ich konnte mein Vorhaben verständlich formulieren und ihr könnt mir helfen.
Vielen Dank schonmal
joanna
Private Nachricht senden Benutzer-Profile anzeigen


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 09.06.2010, 14:54     Titel:
  Antworten mit Zitat      
Hallo,

ein Popup-Menu ist schon ok. Du Kannst einen Eintrag namens "Usereingabe" in die Liste aufnehmen, und wenn der Benutzer diesen Eintrag auswählt, erscheint ein zusätzlicher modaler Dialog zur individuellen Eingabe der gewünschten Zahl. Von dort geht es dann wieder zurück zum normalen Ablauf.

Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
joanna
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.06.2010, 15:01     Titel:
  Antworten mit Zitat      
Hallo tompie,
danke für deine Antwort. Aber leider versteh ich das nicht so ganz...
Also ich erstelle mein Gui über guide. Meinst du mit in die Liste aufnehmen, es beim Property Inspector unter String mit einzufügen?
Braucht man da dann noch eine zusätzliche Funktion dazu? Weil wenn ich das so einfüge, steht das ganz normal wie die anderen Einträge zur Auswahl.
Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 09.06.2010, 15:15     Titel:
  Antworten mit Zitat      
Hallo joanna

was tompie meint, dass du Eintrag "Usereingabe" aufnimmst,
dann in Callback fragst du ab, ob in Popup "Usereingabe" ausgewählt wurde
und rufst Eingabefester auf

so in etwa:
Code:


eintraege= get(hpopup, 'String');
auswahl  = get (hpopup, 'Value')

if strcmpi(eintraege{auswahl},'Usereingabe')
   eingabe = input('Bitte Eingabe machen')
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
joanna
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2010, 08:15     Titel:
  Antworten mit Zitat      
Hallo,

da stand ich wohl auf dem Schlauch. Danke Smile Hab mir ursprünglich auch gedacht, dass wenn nix anderes geht, ich ne Auswahl machen muss, was ja hier auch der Fall ist.

Gibt es denn aber eine Möglichkeit, bei der der Benutzer einfach eine Eingabe in ein leeres Feld des Pop-up Menüs machen kann?
Ich rufe nämlich momentan eine inputdlg auf. Das funktioniert zwar sehr gut, aber ich finde das für den Benutzer umständlich.

Ach und noch eine zusätzliche Frage, vielleicht könnt ihr mir da auch weiterhelfen. Und zwar möchte ich gleich den ersten Eintrag des Pop-up Menüs beim Aufrufen des GUIs verwenden (bzw. wenn man einen Button klickt). Im Moment ist es noch so, dass ich erst mal auf das Pop-up Menü klicken muss und dort was auswählen muss, bevor ein Wert weitergegeben wird.
Private Nachricht senden Benutzer-Profile anzeigen
 
joanna
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2010, 08:54     Titel:
  Antworten mit Zitat      
Hallo nochmal,

also meine Frage zur Wertübergabe vom Pop-up Menü zu Beginn des GUIs bzw. wenn ein best. Button geklickt wird, hab ich jetzt so gelöst:
Code:

FS = 72/2.54;
if exist('handles.FS')
FS = num2str(handles.FS);
end
 

Das ist ja nicht weiter aufwendig, aber mich würde es trotzdem interessieren ob es eine Art "Aktivier-Funktion" unter den Eigenschaften des Pop-up Menüs gibt.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 10.06.2010, 21:51     Titel:
  Antworten mit Zitat      
Zitat:
Gibt es denn aber eine Möglichkeit, bei der der Benutzer einfach eine Eingabe in ein leeres Feld des Pop-up Menüs machen kann?
Ich rufe nämlich momentan eine inputdlg auf. Das funktioniert zwar sehr gut, aber ich finde das für den Benutzer umständlich.


Also ich könnte mir z.B ein Edit-Feld vorstellen, welches unsichtbar ist, und über Popup liegt.
Wenn du leeres Feld in Popup wählst, wird über Popup-Callback Edit-Feld aktiviert. Benutzer macht seine Eingabe, Nach Eingabe wird das Edit -Feld wieder unsichtbar. Dass muss Callback von Edit-Feldes übernehmen.

Aber wie gesagt es könnte ich mir vorstellen, probiert habe ich sowas nicht.


Zitat:
Ach und noch eine zusätzliche Frage, vielleicht könnt ihr mir da auch weiterhelfen. Und zwar möchte ich gleich den ersten Eintrag des Pop-up Menüs beim Aufrufen des GUIs verwenden (bzw. wenn man einen Button klickt). Im Moment ist es noch so, dass ich erst mal auf das Pop-up Menü klicken muss und dort was auswählen muss, bevor ein Wert weitergegeben wird.


Vielleicht kannst du einfach die Popup Callback-Funktion aus Button-Callback aufrufen, oder bei GUI-OpeningFcn (bei GUI Start)

Code:

exist('handles.FS')
 

was willst du denn mir der Zeile überprüfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
joanna
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2010, 06:56     Titel:
  Antworten mit Zitat      
Zitat:

Code:

exist('handles.FS')
 

was willst du denn mir der Zeile überprüfen?


Also das steht in der Callback-Funktion eines Buttons, der wenn man klickt eine Funktion (FFT) berechnet und sie anzeigen soll. FS ist in diesem Fall meine SampleRate, die vom User individuell über das Pop-up Menü gewählen werden kann. Eine Vorauswahl soll aber 72/2.54 sein. Also leg ich die Vorauswahl fest und wenn aber handles.FS, das ist dann meine Samplerate aus dem Pop-up Menü (wird in der Callback-Funktion des Pop-up Menüs "generiert") existiert, dann soll er diese übernehmen. Mach ich diese Auswahl nicht und will das handles.FS zuweisen, bzw in der Callback-Funktion des Buttons verwenden, funktioniert das nicht, wenn man vorher nicht auf das Pop-up Menü geklickt hat.
Ich hoffe das war verständlich Smile


Zitat:

Vielleicht kannst du einfach die Popup Callback-Funktion aus Button-Callback aufrufen, oder bei GUI-OpeningFcn (bei GUI Start)

Wie schaut denn so ein Aufruf in der GUI-OpeningFcn aus? Weiß grad nicht, wie ich das umsetzten könnte.
Private Nachricht senden Benutzer-Profile anzeigen
 
joanna
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2010, 08:13     Titel:
  Antworten mit Zitat      
Zitat:

Zitat:

Vielleicht kannst du einfach die Popup Callback-Funktion aus Button-Callback aufrufen, oder bei GUI-OpeningFcn (bei GUI Start)

Wie schaut denn so ein Aufruf in der GUI-OpeningFcn aus? Weiß grad nicht, wie ich das umsetzten könnte.


Oh man, stand wohl schon wieder auf dem Schlauch... Klar einfach den Aufruf in der OpeningFcn machen. Dann funktionierts auch.

War mir nur unsicher ob man in der OpeningFcn überhaupt noch was hinzufügt. Aber ich hab jetzt schon öfter gelesen, dass man da zb Variablen initialisieren kann usw. Man lern halt nie aus.

Also vielen Dank denny und tompie
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 - 2025 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.