|
BlackDice |
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 29.03.2021, 13:06
Titel: scrollbarer Tab
|
|
Moin zusammen,
ich habe mir einen Tab gebaut in dem über einen Spinner eine gewisse Anzahl von Button angezeigt werden. Wenn ich mir jetzt nur drei Buttons anzeigen lasse wie auf dem Screenshot kann ich trotzdem bis ganz nach unten scrollen zum 20 Button scrollen den ich mit "Visible = 'off'" ausgeblendet habe.
Gibt es sonst noch eine andere Möglichkeit GUI Elemente auszublenden, zu löschen und wenn sie gebraucht werden wieder zu erzeugen?
Beschreibung: |
|
Download |
Dateiname: |
scroll.JPG |
Dateigröße: |
13.24 KB |
Heruntergeladen: |
276 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.03.2021, 13:50
Titel:
|
|
Hallo,
mit dem Befehl
uibutton
die Buttons nach Bedarf erstellen und mit
delete
löschen.
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 ;)
|
|
|
BlackDice |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 29.03.2021, 18:50
Titel:
|
|
Danke. Das erstellen hat soweit geklappt nur beim löschen klappt das nicht so richtig:
Viele grüße
Fabian
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 29.03.2021, 19:33
Titel:
|
|
Müsste die zweite for-Anweisung nicht genauso von 1 bis Value laufen?
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
BlackDice |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 29.03.2021, 21:01
Titel:
|
|
Das macht die Schleife auch. Die Variable wird aber nicht gefunden. Ich habe auch schon verschiedene Klammern getestet. Leider kein Erfolg.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.03.2021, 21:25
Titel:
|
|
Hallo,
wenn, dann
Dazu muss das Objekt aber vorher angelegt worden sein.
Damit du nicht den Zugriff auf die Objekte verlierst, würde ich sie als Eigenschaft in der App ablegen.
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 ;)
|
|
|
BlackDice |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 07:38
Titel:
|
|
Moin, egal ob ich "Messung_Panel" als public oder private property setzte bekomme ic folgenden Fehler:
Edit: ok ich glaube ich habe einen Fehler gefunden. Wenn ich 20 Panels erstelle und dann mit dem Spinner zurück auf 19 gehe wird Panel 20 gelöscht. Den Fehler gibt es dann erst wenn ich auch 18 runtergehe weil es dann Panel 20 nicht mehr gibt. Hat jemand da eine Idee wie ich die For Schleife ändern kann?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 09:58
Titel:
|
|
Hallo,
du kannst z.B. die Anzahl der Panels in einer Variable speichern und diese Variable statt 20 verwenden.
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 ;)
|
|
|
BlackDice |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 10:57
Titel:
|
|
Moin irgendwie stehe ich grad auf dem Schlauch.
Das ich die obere Grenze Variabel mache macht ja sinn. Hätte ich dann aber nicht immer noch das Problem, dass ich zuvor erstellte Panels nicht löschen kann?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 12:08
Titel:
|
|
Hallo,
ich wüsste nicht, warum es da ein Problem geben sollte. Ich kann dir nur raten, es auszuprobieren und Bescheid zu geben, falls es konkrete Probleme geben sollte. Dann bitte dazu schreiben, welche Fehlermeldung in welcher Zeile auftritt.
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 ;)
|
|
|
BlackDice |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 13:21
Titel:
|
|
Ich weiß jetzt nicht ob du das dir so gedacht hast mit der Anzahl der Panels als Variable speichern:
Allerdings habe ich hier ja auch das Problem, dass ich ja nicht weiß wie viele Panels erstellt wurden um diese zu löschen.
Eine Fehlermeldung wird hier nicht ausgespuckt nur die zweite for Schleife funktioniert nicht wie ich mir das vorstelle.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 14:32
Titel:
|
|
Hallo,
Zitat: |
nur die zweite for Schleife funktioniert nicht wie ich mir das vorstelle.
|
Och bitte... was heißt das denn nun? Wird etwas gelöscht, was nicht gelöscht werden soll? Oder wird etwas nicht gelöscht, das gelöscht werden soll? Ich kann mir zwar vorstellen, was du möchtest, aber mangels vollständigem Beispiel nur erahnen, wie das Verhalten von deiner Vorstellung abweicht.
Probleme auf jeden Fall:
Du musst dir diese Variable für den nächsten Durchlauf speichern.
Zudem ist es nicht sinnvoll, Panels zu erstellen, die vom letzten Durchlauf noch da sind.
Insgesamt also eher so:
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 ;)
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.03.2021, 14:32
Titel:
|
|
Hallo,
Zitat: |
nur die zweite for Schleife funktioniert nicht wie ich mir das vorstelle.
|
Och bitte... was heißt das denn nun? Wird etwas gelöscht, was nicht gelöscht werden soll? Oder wird etwas nicht gelöscht, das gelöscht werden soll? Ich kann mir zwar vorstellen, was du möchtest, aber mangels vollständigem Beispiel nur erahnen, wie das Verhalten von deiner Vorstellung abweicht.
Probleme auf jeden Fall:
Du musst dir diese Variable für den nächsten Durchlauf speichern.
Zudem ist es nicht sinnvoll, Panels zu erstellen, die vom letzten Durchlauf noch da sind.
Insgesamt also eher so:
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 ;)
|
|
|
BlackDice |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 08.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 31.03.2021, 07:46
Titel:
|
|
Moin Harald, danke für die ganze Hilfe.
Ich möchte durch einen Spinner die Anzahl der erzeugten Panels einstellen. Das soll durch benutzten der Pfeile auf der rechten Seite und durch eintragen einer Zahl möglich sein. Wenn die Zahl niedriger ist als die vorherige sollen die nicht gebrauchten Panels gelöscht werden. Also wenn ich mit dem Spinner oder per Eingabe eine 10 eintrage sollen 10 Panels erzeugt werden. Wenn ich dann mit dem Spinner oder per Eingabe eine 3 eintrage sollen die anderen 7 gelöscht werden.
Mit dem Programm kann ich mit den Pfeilen die Panels erzeugen und löschen.
Wenn ich aber wie im Beispiel per Eingabe 10 eintrage und dann eine 3 eintrage bekomme ich in der delete Zeile folgenden Fehler:
Edit: wenn ich den Eintrag:
entferne klappt das alles. Was für Einträge sollen denn da gelöscht werden?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 31.03.2021, 09:04
Titel:
|
|
Hallo,
du speicherst ja Verweise auf die Panels ab. Wenn du die Einträge nicht löscht, speicherst du noch Verweise auf Panels ab, die es gar nicht mehr gibt.
Problem ist, dass durch das Setzen auf [] die anderen Panels "nachrutschen". So sollte es passen:
Dann bräuchte man lastValue nicht mal speichern, sondern könnte
length(app.Messung_Panel)
verwenden.
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 ;)
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|